rokka got some new features

Rokka – our image storage and delivery service, got quite some new features lately, thanks also to feedback from our users. Here’s a list of the visible stuff we did.

Brandnew this week

  • autoformat. A new stack option. If set, rokka will return WebP, if the client supports it and a PNG or JPEG was requested, resulting in smaller images.
  • dpr. Device Pixel Ratio. Another new stack option. If set, returns higher resolution images, useful for <img srcset="" /> for example.
  • Width or height are finally optional in the resize operation.
  • The WordPress plugin got some improvements.
  • Work for a Drupal 8 module and a Kirby plugin are under way.
  • General improvements in performance, failover cases and small bugfixes.

    Continue reading about rokka got some new features

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

Hacking with Particle server and spark firmware

The particle server

In my previous blog post, I wrote about the concept of my project using particle. Now I will explain what I had to do to increase the data rate transfer of my modules (remember, my goal is to get data  with the closest data transfer of 1 [ms] ).

First, I installed the local Api server (https://github.com/spark/spark-server).

Then I had to register all of my photon’s public key on my server and the server public key on my photons.

Using this command :

Then, I launched the server to see if my photons were responding with something like this :

So from here all was working fine but what I also needed to use there is JS library to get data from OAuth. The thing is that you have to do a lot of configurations if you want to make it works but in this project it was not the goal. I had to test as quickly as possible. So I did what you usually do not have to do with a library installed via npm.

Continue reading about Hacking with Particle server and spark firmware

Tags: , , , , , , , ,

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

Order fulfillment with Swiss Post and YellowCube

Setting the stage

We live in a time where more and more goods are purchased online. May it be your airline ticket or the diapers for your newborn, many things are often cheaper and more conveniently purchased online. As comfortable it is for the customer buying things this way, as challenging it can be for the seller. They need to have an online presence that is easy to use and need to have all goods in stock to sell and send them quickly.

This means that selling physical products requires sufficient storage space on-site, people that handle picking, packing and shipping and someone that handles returned goods. All this factors can sum up to a costly venture, especially when you don’t have any infrastructure from other sales channels already.

Architekture PostLogistics YellowCube Connector

The PHP-YellowCube interface is part of all YellowCube extensions for PHP based web stores

What is order fulfillment?

This is where YellowCube comes in handy. YellowCube is a fulfillment service offered and run by Swiss Post. But what is a fulfillment service anyway? In the case of YellowCube it means everything to do with the storing and shipping of the products you sell on your store. This means receiving and storing of the products, handling of the inventory, picking, packing, shipping and handling of returns.

How to implement it into your web shop?

So far so good, but how does this translate into real life? Liip has, in close collaboration with Swiss Post, developed a PHP-YellowCube-SDK and also the integration for Magento and Drupal web shops. The PHP-YellowCube interface provides an object-oriented wrapper to the SOAP based interface provided by Swiss Post. The code is readily available on Github. Please feel free to contribute to the PHP-YellowCube-SDK, as well as the Magento extension or the Drupal extension.

Please explain…

Now that we know about the SDK, we need to know how the basic process works. I want to show you what needs to happen in order to implement YellowCube successfully into a web shop. The process is agnostic to a certain integration, so I won’t go into details how it is integrated in a specific shop extension. I will explain the basic process, which applies to all web shop integrations in the same manner (more or less).

Continue reading about Order fulfillment with Swiss Post and YellowCube

Tags: , , , ,

The User Experience of APIs

After having read how some people can hold and transmit the terrible misconception that designing APIs has nothing to do with designing great experiences, I felt one could provide a few insights into the benefits of shaping an API around its consumers – the developers and the machines – as much as around the data.

Continue reading about The User Experience of APIs

Tags: , , ,

Big leap forward for Opendata

make.opendata.ch This year, the second make.opendata.ch-hackdays took place in Geneva and Zurich. More than 120 developers, designers and ideators including a handful of Liipers met to work on “public transport”, which was set as the hackday’s main focus. A goal was to show to the SBB and the public what open data sources allow and how they can be used.

The Liipers present at the hackdays got involved in some of the projects:

Zurich: The Swiss Public Transport API

Team: Colin Frei, Danilo Bargen, Dominic Lüchinger, Fabian Vogler, Roland Schilter

Following our internal Transport API hackday in the beginning of the year, some others joined us to continue working on the Rest-API. The goal of the project was to provide a public transport Rest-API that allows every interested developer to create his own applications based on public transport schedules. Basically the API transforms the complex SBB XML response into a JSON format. Documentation and examples can be found at transport.opendata.ch.

During the two days, the team including three Liipers reacted on user requests and implemented new features to the existing API. Besides little changes, we added a location-based station search as well as the output of the full stage details.

Today, the API is already in use by several projects, including a command line interface and a wheelchair map.

Feel free to use it, extend it, and share it. Feedback is welcome as well.

Zurich: Transport Flows visualization

Team: Benjamin Wiederkehr, Dagmar Muth, Ilya Boyandin, Joel Bez, Patrick Stählin, Patrick Zahnd, Sylke Gruhnwald, Thomas Preusse

In the second project Patrick got involved in visualizing Transport Flows. Adapting the idea of the Villevivante project, the goal was to visualize the Swiss transport flows nicely and in an interactive way.

We collected the data based on the swisstrains.ch JSON output and processed it with Python scripts. With the given information, we created some interactive graphics using the JavaScript visualization framework d3. It turned out that it just perfectly matched our requirements and provided a wide range of features.

In the end we were able to visualize facts like sector-based train speeds and counts. We also visualized the transport hubs on a minute and hour basis.

An interesting statistic is the transport hub list, especially that Lucerne is the number three after Zurich and Berne. Also interesting is that the fastest railway line is still the “Bahn2000” between Berne and Zurich, which some of us use regularly.

The result can be found on flows.transport.opendata.ch.

Geneva: SiesteApp

Team: Andreas Kuendig, Benoît Pointet, Raphaël Halloran

The Geneva hackday crowd grew many interests which were more focused on the Geneva region, since a delegation of the territorial information systems department of Geneva (SITG) was present and provided great help and insights in the available geo-informations for the city. Topics like “bike mobility” or “multi-modality” got under heavy scrutiny, discussion and ideation.

Benoît got involved in a team who focused on a vague but non-the-less fascinating topic around individuality, emotions and comfort. He ended up working on a mobile app to help people find out where they could take a nap in Geneva; have a rest or just breath some fresh air in a quiet (or even dog-free) environment.

Follow the project at http://make.opendata.ch/doku.php?id=project:sieste.

Conclusion

Not only in the eyes of the Liip attendees the hackday was a success, but also in those of the participants and of the many institutional delegations visiting the hackday, like the SBB participants, who were impressed and willing to support the Swiss public transport API.

– Andreas Amsler, Benoît Pointet, Colin Frei, Fabian Vogler, Patrick Zahnd, Roland Schilter

Tags: , , , , , , , ,