Author: François Téchené

Director of Creative

We love Ethical Design


In our wish to bring our contribution to the betterment of society, wherever we plan to work on refining our products or existing software, we will conform to the Ethical Design Manifesto. Our philosophy and social purpose have always been in perfect unison with the principles stated in the Ethical Design Manifesto, and having it as part of our internal design team’s policy is a good way to make sure that we always keep it in mind.

What is Ethical Design?

The goal of “ethical” design is to develop technology that is respectful of human beings whoever they are. It encourages the adoption of ethical business models and, all together, it is favoring a more ethical society.

According to the manifesto, ethical design aims to respect:

  • Human Rights: “Technology that respects human rights is decentralised, peer-to-peer, zero-knowledge, end-to-end encrypted, free and open source, interoperable, accessible, and sustainable. It respects and protects your civil liberties, reduces inequality, and benefits democracy.”
  • Human Effort: “Technology that respects human effort is functional, convenient, and reliable. It is thoughtful and accommodating; not arrogant or demanding. It understands that you might be distracted or differently-abled. It respects the limited time you have on this planet.”
  • Human Experience: “Technology that respects human experience is beautiful, magical, and delightful. It just works. It’s intuitive. It’s invisible. It recedes into the background of your life. It gives you joy. It empowers you with superpowers. It puts a smile on your face and makes your life better.”

Growing the seed of an ethical society

Working towards an “ethical society” may sound like fighting windmills. I personally see it as a global, constant yet disorganized wish that nonetheless tends to materialize from time to time through a common concerted effort. I don’t think that this effort is about changing some thing because of its unethical nature; it has nothing to do with a fight. Instead, it is about growing the seed of a more ethical thing that would exist next to it.

In line with this goal and our social purpose is the fact that we aim to work in an “upstream first” way as part of the Free Software community; in order to contribute to the common effort toward growing this ethical seed, any software development and improvement on top of an existing project is intended to be discussed and co-developed upstream first. We don’t want to reinvent the wheel and fork existing projects just because we don’t like the colors of the paint on the wall! This would only fraction the community’s resources and add confusion for users.

There are so many amazing free software projects that share our philosophy, and we hope to contribute while also ensuring these pieces of software respect human rights, human effort and human experience. These are my guiding principles for Purism’s UI and UX design projects.

Le Capitole du Libre 2017


Artwork by David Revoy

A great weekend.

A few days ago, I was at Le Capitole du Libre which is one of the main free software events in France. The event was a real success for everyone involved. There were more people than last year, the organization was amazing and I had a very good time with some very nice people.

There were many interesting talks and workshops ranging from purely technical to more philosophical and political subjects like “The Current State of Free Software in our Society”, which was the closing day debate on Saturday evening. It involved great names from the French free software community. As you can see from the picture, the talk was accessible to the deaf and so the event had a few sign language translators present. Big thumbs up for that!

Jonas, from the Purism team, joined me to give a talk as part of MiniDebConf (an event within an event).
As for myself, I was representing Purism with a booth that was showing the Librem 13 and Librem 15 as well as promoting the upcoming Librem 5.

Representing Purism.

There was a lot of interest for the Purism booth and a lot of excitement for the Librem 5. Over the 2 day event I hadn’t stopped answering questions about our products and philosophy.

One of the most recurring topics was about the availability of a French keyboard layout and the availability of the Librem laptops in Europe, especially in France.

This issue is slowly making progress as we currently have a reseller in Germany who is at this time not able to deliver outside of Germany. Regarding the reseller, I want to clarify that I may have given some people the impression that their prices were the same as in the USA, but this is not the case. I didn’t have those prices with me at the time of the event, and the prices in Euros are indeed including the German VAT. I am sorry about the confusion.

We are still in the process of finding a reseller who would deliver to France and other European countries and I suspect the French keyboard layout will happen concurrently with that. Hopefully, these changes will happen some time in 2018 as the Laptop sales and the demand in Europe keep growing.

Anyway, as I mentioned during the event please don’t hesitate to get in touch with us through our forum or by email if you have any questions or feedback.

Thank you everyone. I had a great time. See you next year! 🙂

Make your own Librem 5 concept art.


A few days ago, a very talented Librem 5 enthusiast asked me for some HD material to create his own Librem 5 concept art, so I have put together a couple of blank renders of the handset, along with the logos in SVG format.

All this design is currently a work in progress and I believe in collaborative efforts. I believe in the people’s power. I believe in the fact that we don’t own Creativity. We just own the pleasure of expressing it. I see Creativity as a global positive energy that vibrates and grows through all of us. We should never restrict its freedom of movement. Freely collaborating and sharing with the world is the essence of the Free Software movement and is what Purism is made of.

In that regard I thought I would make those files public for anyone to freely join the fun.
So, if you feel like expressing your artistic skills and your vision of what could be a smartphone that is made for user’s respect and software freedom, feel free to do so!

Download the Librem 5 Concept Pack

Enjoy! 🙂

Librem 13 Promotional Video

Let me introduce to you the new Librem 13 video.

Unlike the other videos I have made to promote this beautiful laptop, I decided, this time, to stay away from any 3D computer graphics and to shoot the real device in a studio made for the occasion.

This was pretty challenging as I wanted a black background with a reflective ground along with smooth camera and light movements. We also had to deal with things that don’t exist in the world of computer graphics like dust and fingerprints (what a nightmare that was!).

This video has been shot in 2 days and was entirely edited and color graded with Kdenlive on PureOS 8, all smoothly running on the Librem 13 itself.

This video is released under the CC BY-SA license (by Purism), so feel free to use it and share it as much as you like!

YouTube streaming with less interruptions and more privacy

In this short tutorial, I will show you how to watch your favorite YouTube videos without being annoyed by the ads or those random visuals popping around (like “annotations”). It will also improve your privacy by avoiding storing some history and cookies from watching those videos within your browser.

As a film maker, I think that displaying any kind of visual artifact (ads, comments/annotations…) on top of the video is degrading the artwork. It is like going to a museum and seeing Post-Its and stickers pasted all over the sculptures and paintings. How would a museum could justify such a business model? Of course, YouTube is not a museum and I don’t want to discuss ethics or business models here (maybe on another post?). YouTube is also a great source of inspiration and learning for me—I simply want a better viewer experience.

The solution to improve your watching experience is called GNOME MPV. It is a video player that lets you watch any video from your computer as well as remote videos like the ones from Youtube.

GNOME MPV is based on FFmpeg and is able to read almost any video format. It has a very simple interface and it is very fast. It has become my main video player.

Install it

I don’t think that GNOME MPV is currently the default video player in PureOS, so you may need to install it. It is very easy: open the GNOME software center (“Software”) and search for “GNOME MPV”. From there, click on the “Install” button. When done, just launch it.

Watching a YouTube video

On GNOME MPV, click on the “+” button on the top left of the window and select “Open Location”. A small dialog will appear.

In the text field, paste your Youtube video link and click “Open”. You can try with this example (A song from Free Music Archive): youtube.com/watch?v=4M9Puanhdac

Of course, I cannot guarantee that it will always work. Be aware that Youtube remains master of their videos and can decide which level of restrictions they apply to them. Also make sure that your system is up to date when problems occur. New versions with corrections may be available.

Play an entire YouTube playlist

You can also play an entire playlist. This time,  just paste a YouTube playlist URL.

Note that for it to work, I had to remove the video id from the URL and only leave the “list” attribute.

You can test with this example: youtube.com/watch?list=PLzCxunOM5WFJ3B0F5AnUCwMBTlyq64vKP

From there, you may go to the menu button, on the top right of the window (the 3 horizontal lines) and select “Toggle Playlist”

I use Youtube as an example in this tutorial because it is the streaming service that I use the most, but GNOME MPV also works with Vimeo and many other online streaming services. Just give them a try!

A new boot splash for PureOS

A quick update about PureOS… from the design team this time! 😉

For the new version of PureOS (codenamed “Prometheus”), I am working with the developers to make a very smooth and pleasant user experience when installing and launching the system. We want to make sure that PureOS is not only secure, but also a beautiful and enjoyable experience, designed for everyone. No exceptions!

So, I am currently working hard on polishing the visuals. The video below shows an example of the animation that will now take place at boot time in PureOS.

Every new Librem ordered with PureOS pre-installed should ship with this beautiful PureOS update in the coming weeks (we’re working hard to make the PureOS release on time for factory installs!) If you already are using PureOS, a software update will also arrive soon for you.

If you like it so much that you can’t wait for it to be released with PureOS, or if you want to customize its look to make it yours, you can download the source files here.

Your own music studio with JACK, Ardour and Yoshimi

Last week, after flashing coreboot on my Librem 13 (as a beta tester of the new coreboot install script), I came across a few problems with my heavily tweaked PureOS install, so I decided I would do a full, fresh install of PureOS 3.0 beta so my environment would be much closer to what a new user would expect.

While re-installing all my creative environment, I decided that I would do a quick tutorial on installing and using Jack as it is not straight forward and that there are not so many tutorials about it on the Internet.

What is JACK?

JACK stands for “JACK Audio Connection Kit”. It is a free software that lets you handle audio input and output between different applications.

You can see it as a set of audio jacks that you will be able to plug between different programs.

For example, you can use it to connect a software synthezizer (Yoshimi, ZynAddSubFX) to a multitrack sequencer (Ardour, LMMS).
You can use it to connect an audio editing software (Audacity) to a video editing software (Blender).

Many applications have Jack support. Here is a list from the JACK’s website.

As an example for this tutorial, I will show you how to use Yoshimi with Ardour.

Install the applications

First of all, we need to install all the required applications

sudo apt install qjackctl ardour yoshimi

Enable real time scheduling

Real time scheduling is a feature of all Linux based operating systems that enables an application to meet timing deadlines more reliably. It is also considered to be a potential source of system lock up if your hardware resources are not sufficient so, most of the time, it is not enabled by default.

As mentioned on the JACK’s website, JACK requires real time scheduling privileges for reliable, dropout-free operation.

There is a well detailed tutorial from the JACK’s team that describes how to enable real time scheduling on your system. I will go through the main steps here. It works for me on PureOS but should also work without problem on many other GNU/Linux distributions.

First of all, create a group called “realtime” and add your user to this group (replace USERNAME with your current login) :

sudo groupadd realtime
sudo usermod -a -G realtime USERNAME

You can check that “realtime” is now part of the user’s groups by running the following command :

id USERNAME

Also, make sure that the user is part of the audio group. If not, just add it :

sudo usermod -a -G audio USERNAME

On PureOS (and Debian), you should have a folder called /etc/security/limits.d. If so, just create and edit the file /etc/security/limits.d/99-realtime.conf with your favorite editor. (If you don’t see this folder, you need to edit /etc/security/limits.conf).

sudo vi /etc/security/limits.d/99-realtime.conf

Add the following lines and save the file :

@realtime   -  rtprio     99
@realtime   -  memlock    unlimited

You need to logout and login again for the changes to take effect.

WARNING : You should only add new or existing users to the “realtime” group only if an application that they use (like JACK) requires it . By doing so, you give them pretty high privileges to interact with the process priorities, and this may affect the whole usability of the computer.

Run JACK

Before being able to connect anything with JACK, we need to set it up and start its deamon. For that matter, we will use QJackCtl which is a graphical application that controls JACK’s inputs and ouputs.

We will first make sure that JACK is setup correctly. Press the “Setup…” button.

I am not an expert with audio hardware and configurations and this setup is working perfectly on my Librem :

  • Driver: alsa
  • Realtime : yes
  • Interface : hw:PCH
  • Sample Rate : 44100
  • Frames/Period : 128
  • Periods/Buffer : 2

 

 

Save your settings and, on the main QJackCtl controls window, press the “Start” button. After a few seconds, you should see the “Connections” window popping up. This is where all the connections take place.

Connect Yoshimi to Ardour

Now, we are ready to connect our virtual jacks. It is time to open Ardour and create a new session. You should now see a lot more connections in the JACK’s connections window. It shows how Ardour interacts with the system’s audio inputs and outputs.

Let’s add a new track to Ardour. Click the menu “Track”->”Add Track, Bus or VCA…”. Call your new track “Drums” and set it as stereo.

Now you see 2 more Ardour inputs in the JACK’s connections window. They show the name of the audio track that we just created and they are currently connected to the default system’s capture device (the microphone). That is is not what we want so we will disconnect them.

Right click on one of them (Drums/audio_in 1) and chose “Disconnect”. It will disconnect the audio capture device. We will now connect our track to Yoshimi.

Open Yoshimi and wait for it to be fully loaded. You should now see the Yoshimi’s output appear on the JACK’s connections window. In order to connect the Yoshimi’s output to the Ardour’s input, just drag one on top of the other (make sure to respect the vertical order).

 

You are now ready to enjoy your fully operational free software powered professional music studio! 🙂

Please, feel free to comment this post or ask any question in our forums.

Have fun! 😉

RAW footage with Magic Lantern & MLRawViewer

A picture of my post production studio.

Software freedom is amazing! Used with the right hardware, it becomes limitless. Being part of the Purism team as well as the Ethic Cinema project, makes me do a lot of research in term of freedom in visual creations.

Everyday, I realize a bit more, how powerful my free software based studio is when it comes to handling a professional film making workflow. And of course, as a film maker coming from the old school of proprietary technologies, I am so glad to know that now, I am in control.

Getting the best out of your video footage

On a previews post, talking about A/V formats, I said that I didn’t know any camera that lets you be in full control of your footage. Especially if you are on a budget. Most of the time, you will have to deal with footage in a compressed, proprietary format. This can be a problem in a post production workflow because if you re-encode your footage based on an already compressed one, it will start to degrade. If you chose to keep your original footage, you will have to deal with the limitations that come from the proprietary nature of the formats.

This may be true but there is a way to bypass the problem.

RAW files

Thankfully the amazing people from Magic Lantern came to the rescue!

Magic Lantern is a video camera firmware that is released under the GPL license and runs on most Canon DSLRs (Are there some equivalents for other cameras ?). This firmware extends the functionality of the camera and most of all, lets you record your footage as RAW files.

RAW files are brute data coming straight from the sensor. It is like a film negative that would have had no treatment yet.

Based on this RAW file, we are free to export our original footage to the format that we wish. This step is what would happen in the camera in order to generate the footage. The camera would apply your color presets to the RAW data coming from the sensor end encode it to a usable video format. Usually an H.264 format within a MOV container.

With Magic Lantern we have access to the RAW file, so we are in control.

Handling RAW files

Once the RAW file is stored in the computer, it is time to generate our original footage.

MLRawViewer is an amazing free software, made in python and based on FFmpeg. It lets you preview, color grade and encode your RAW footage.

In its latests version (1.4), MLRawViewer only encodes as Apple ProRes (.mov) or Adobe Digital Negative (.dng) formats. Unfortunately, both formats are proprietary, so as part of the Ethic Cinema project, we have decided to contribute to MLRawViewer. We have added the free lossless Huffyuv (.mkv) format to the list as well as the ability to rotate the encoded video. We sometimes film with the camera upside-down when doing camera movements close to the ground with our steadycam, so rotating our footage during this process is very useful.

While our changes are not merged into the original project, you can test it from our repository.

Having the footage being encoded from RAW to a lossless format makes it keep its full quality (which wouldn’t be the case when using the built in H.264 compressed format). Gradients and details are perfectly preserved. It also gives us the ability to use the highest dynamic range available from the camera, or to use a custom LUT (picture style) that would suit our needs.

Please, note that this step is not to be confused with the actual color grading process that takes place at the end of the post production, when the editing is complete. The goal here, is to prepare the footage to allow as much flexibility as possible during the color grading phase. Usually, we chose a very flat picture style at this stage, in order to make sure that we keep as much details as possible from dark to bright.

All in all, the footage we get through this process is at the best possible quality and very close to what one could get from a very high end cinema camera.

This was the missing bit of my workflow. I have now achieved full control and freedom over the whole post production workflow.

Installing MLRawViewer

Note, I have updated this part on 07/04/2017 after noticing some problems with different configurations running python3 along with python2

I plan to make an Appimage build of MLRawViewer, but it is not done yet, so you will have to compile it yourself.

Don’t worry, it is not very difficult and here are the instructions for PureOS and other Debian based systems (It should be very similar on others systems) :

First of all, you need to install git and python, along with pip. (I installed pyaudio with apt because for some reason it failed installing with pip).

Note that you need to install version 2.7 of python as version 3 is not supported by MLRawViewer.

sudo apt install git python2.7 python2.7-dev python-pip python-pyaudio libglfw3-wayland
# Use ‘libglfw3’ if you are not on wayland

Then, you need to install the required dependencies making sure that you use the right versions (which may not be the latests)

pip2 install scandir
pip2 install -I PyOpenGL==3.0.2
pip2 install numpy==1.9.1
pip2 install glfw
pip2 install Pillow==2.1.0

Then, you need to get the source code of MLrawViewer from the Ethic Cinema repository for the updates

git clone https://github.com/ethiccinema/mlrawviewer.git

or from the original repository

git clone https://bitbucket.org/baldand/mlrawviewer.git

It is now time to build the application.

cd mlrawviewer
python2 setup.py build
cp build/lib.linux-x86_64-2.7/bitunpack.so bitunpack.so

And run it

./mlrawviewer.py

Don’t hesitate to ask any question in the forums if you have any trouble  or if you wish me to post any tutorial related to multimedia manipulation with free software. You can use the PureOS area in the forums. I am very happy to help!

 

What’s next?

Well, how cool would it be to shoot with an Axiom camera ? … along with the new Librem 15 v3 !

 

 

A new PureOS website

2017 new pureos websiteI’m happy to announce that I have put together a new website dedicated to PureOS, with its own domain name: https://pureos.net

I created the PureOS website from scratch and made sure that not only is PureOS freedom-and privacy-respecting, its website would be as well.

  • It enforces HTTPS.
  • It is Icecat and Tor friendly.
  • There is no javascript at all—the interactive top menu that is displayed on small screens (mobile / tablets) is only made of CSS (with the checkbox trick)!
  • At the moment it doesn’t use any backend/framework (it is pure HTML), but I am also working on a small PHP backend that would handle very simple freedom-respecting templates as well as translations, following LibreJS rules for JavaScript usage. This backend is not complete yet but it will be released under a GPLv3 license.

Don’t hesitate to download and try PureOS! Your feedback is more than welcome as we want this fully free distribution to be as user-friendly and freedom respecting as possible. Those two goals are compatible.

I believe the world is reaching a point where the lack of freedom is starting to become noticeably less comfortable than the virtual comfort promoted by restrictive software makers. More and more people feel concerned about privacy, freedom and ethics in general. Most of them are beginning to understand why Free Software is so important (I was/am one of them!) The problem is that many people out there are under the impression that they are not “technical” enough to run a free OS like GNU/Linux, and so, they just give up… we must convince them that things are moving forward in the world of software freedom and that PureOS is as respectful of their freedom & privacy as it is modern, full-featured and easy to use by everyone.

Le Capitole du Libre

2016-11-12_capitol-du-libre_2016_by-david-revoy
Illustration by David Revoy

I was at “Le Capitole du Libre” on the 19th and 20th of November. It is a Free Software event that takes place every year in the city of Toulouse, in France. I had a booth there, presenting the Librem 13 to visitors during the whole event. I had a very good time! The organization was great and there was a lot of visitors, especially on the Saturday.

I had a few questions as well as some interesting feedback from the visitors, regarding the Librem line and Purism in general, so I thought I’d write a summary about it.

“What makes the Librem different or better than another laptop?”

librem_80sMany visitors didn’t know about the Librem or even Purism, so this was a very common question.

To make it simple, the Librem is a computer that is designed with user’s respect as a primary goal. Its components have been selected to let the user “own” and control his/her computer through the use of Free Software. Of course, there are other laptops that let you run Free Software, but today’s computer manufacturers are neglecting user’s rights in their specifications.

Ethics and the public interest are part of our hardware and software specifications as well as being part of our business model.

“How can you possibly promote Freedom and Privacy while the BIOS isn’t free yet?”

I had the chance to have a very interesting conversation with a few (very) vocal Freedom Fighters who brought up this question. This is a question that I fully understand as I am myself an active supporter of Software Freedom and users’ rights.

librem_familySome of them said that we should communicate this critical point more clearly and explicitly. I apologize if our communication is confusing anyone in that regard, it is not our intention. We try to be as clear as possible about it (while remaining understandable!) and the changes to our website contents over the past few months are a big step in that direction.

While talking with freedom fighters, I realized that they mostly want to be reassured on the fact that we are not misleading the public, and that we support the same cause as them (which is the case).

This is how I see things :

  • Our ultimate goal is to sell fully Free computers with no mystery code at all. At this time, we are a very young company with limited resources. Freeing a modern CPU is a pretty big task, and existing Free CPUs are quite far from today’s standard in term of speed and software support. This second choice would solve the issue but would also directly affect the user experience of the end user. This, in my humble opinion, would favor the gap between digital freedom and the rest of the industry as it tends to exclude the majority. If the jump from A to B is not straightforward for the majority, let’s find an intermediate step.
  • The average user doesn’t care much about the CPU brand in his computer; they care most about usability. That said, in theory, most people also care about their privacy and the ethics of the companies behind their computers. In that regard, I believe that the average user is currently the one doing the biggest sacrifice: sacrificing their freedom and privacy for the comfort and usability of their computer (without always noticing it… yet).
  • So instead of going in a way that excludes the majority by marginalizing our hardware, we wish to help everyone move consciously to digital freedom by making hardware that is as free as it can be for the speed and usability required by the majority. Wouldn’t it be beautiful to see millions of average users able to easily and comfortably run an FSF certified distribution as their daily driver ? Wouldn’t it be a great intermediate step ?

We are aware that the Librem is not yet perfect and has a weak link in the chain, and we surely don’t want to hide it to our customers (if you look at the advanced topics of our “Why Purism?” section, it’s pretty explicitely stated all over the place). The current situation is a starting point for us (as well has being the end goal as it is also the last ring to be replaced). Anyway, it is still a work in progress with one single goal in mind : Full Freedom for everyone. On that note, as we have said in our latest announcement, we have resumed our work on Coreboot this December. Once we make good progress on the Coreboot side, we will resume our previous work on freeing the Intel ME.

By supporting us, our users are showing that there is demand for the industry to evolve in the direction of the public’s interest. Our long-term plan is to get enough support to free a modern CPU (or even modernize a Free CPU ?)

“Can you justify the price of the Librem?”

This was a commonly asked question during the event and I wish to clarify this point.

The Librems are high-end computers made of fast and modern components. They are designed to give you the best user experience when using a fully free GNU/Linux distribution. This of course has a cost. Using a Librem running PureOS as my main workstation for multimedia creation, I can tell that the user experience is pretty amazing. That being said, there is even more than the hardware to benefit, for the end user, when buying a Librem.

Purism has been funded around a philosophy of user’s respect and ethics and we also wish our business model to be ethical. We have been founded by our users and this is an amazing chance. When you buy a Librem, you support this philosophy of user’s freedom and directly invest in a company that is driven by the public’s interest only.

“When will you be shipping from within Europe?”

Soon, hopefully! Being a French citizen working for such a great project, this is part of my wishlist.

The awakening

There currently is an awakening happening within the population.

  • Many people, not only Free Software users, are fed up with the current (abusive in so many ways) system and economy, and wish to see positive change coming for everyone.
  • Some of them have become so awake and acutely aware of great solutions like software freedom, they can’t stand the rest anymore, and they can’t stand any middleground. Those are the guys who shout at us, in forums or mailing lists, for “not doing enough”. I can understand them. They are just being impatient as they see light in our project and the urgency of the problem we’re trying to solve. We are a company ahead of its time and we have to deal with it. The future is in our hands, I have no doubt about it.

I wish to say a big thank you to the people who organized such a great event, as well as to all the participants and the people I have been talking to. I am a recent switcher to Software Freedom and this was my first event. It was very instructive and I could feel a lot of good, positive energy there. Freedom is a collective effort and I am very proud to contribute to this bright future with you all Freedom makers. See you all again soon! 🙂

Until we meet again, you can send us your comments and feedback on the forum or to feedback(at)puri.sm