17 Sep 2019

feedPlanet Ubuntu

Ubuntu Blog: Design and Web team summary – 17 September 2019

This was a fairly busy two weeks for the Web & design team at Canonical. Here are some of the highlights of our completed work.

Web squad

Web is the squad that develop and maintain most of the brochure websites across the Canonical.

Takeover templates

In order to save some time with our more and more frequently updated takeovers on the homepage of ubuntu.com, we have designed and implemented a set of five (soon to be six) templates that make it very simple for us to create new takeovers. It is a set of scss mixins for the background gradients and angles and a jinja2 template for all the logic. You can see our internal help doc if you are interested.

We have also built our first three takeovers with the new templates:


From VMware to Charmed OpenStack webinar

Machine Learning at scale webinar

Created an initial version of the MicroStack.run website

We have launched a new microsite for MicroStack, a single node version of OpenStack for developers and edge cloud users.

Adding GitHub buttons to our open-source projects

Not every Canonical project is hosted on GitHub, but we have started to add a strip of buttons on a few sites that are.

Eoan Ermine mascot

With 19.10 around the corner, we have finally completed work on our new release mascot.

The Desktop backgrounds have also been completed and are being baked into the code base ready for release.


The JAAS squad develops the UI for the JAAS store and Juju GUI projects.


New hero section and new expert page (Omnivector Solutions)

A couple of news on the JAAS.ai website, with a new slideshow in the hero area of our homepage, to display different messages and provide multiple entry points to our landing pages.

We also implemented a new landing page for our partner Omnivector Solutions, our new Juju experts.

JAAS Dashboard

The team is building and implementing the design of the JAAS dashboard / monitoring tool. The new Juju GUI allows Juju to scale up, targeting enterprises and users with many models to manage. The new GUI brings all bootstrapping together, highlighting the status of all models with metadata about the controllers, analytics and stats. JAAS is the intersection of Juju, CLI, models and solutions. This iteration we focused in particular on exploring some solutions for the navigation of the application.

Juju, JAAS, CharmHub - Workshop

We organised a workshop to explore the user journey across the standalone Juju website (with docs, discourse, marketing pages), the new new jaas.ai and JAAS dashboard and the CharmHub store and website. We started defining personas and scenarios from user interviews, and used this resource for our explorations.

ChurmHub & CLI

The team is working on defining the user experience and the interface of the publisher flow and pages of the new store, aligning the user experience with Snap and Snapcraft. The same alignment is reflected in the CLI, where the commands on Snapcraft and Charm (publishing stream) and Snap and Juju (operational stream) are getting consistent, with a common user experience and approach.


The team worked on implementing a more granular permission settings for RBAC administrators.


The Vanilla squad design and maintain the design system and Vanilla framework library. They ensure a consistent style throughout web assets.

login.ubuntu.com on Vanilla

Vanilla migration is now complete, the next phase in the project is to finalise how we're going to deploy the site and roll out the updates.

KPI dashboard

We now have a dashboard to track the most important metrics for our framework, bringing all our KPIs together in one place. We can see how we're performing on each different measurement, from previous to current releases.

Metrics we are tracking:

2FA Backup device enforcement

Updates to Backup codes functionality for 2Factor Authentication, new proposed user flow has been signed-off and UI visuals are being developed with review planned next week.

The system right now generate backup codes for users but it does not enforce a regular check-in which leads people to perhaps more chances to lose their codes as they are physical printable elements.

The idea is that the system will ask authenticated users for one of the backup codes.

Component colour theming

Vanilla has always been a single color theme framework, with localised overrides like dark navs and dark strips. We've been planning to generalize this into a flexible theming system, and this iteration we finalised the architecture for it.

Future releases will see a gradual rollout of a new dark theme across all components.


The Snapcraft team work closely with the snap store team to develop and maintain the snap store website.

Release UI

This iteration we've been focusing on preparing the Publisher Release UI for some new, powerful features that should be landing across the Snap ecosystem in the coming months. Here's a brief summary of a couple of those features.

Build tags

If you're a user of the Snapcraft automated build system you'll soon have visibility on revisions, across multiple architectures, that were built at the same time. You'll also be able to release these sets together and promote them through all channels to stable as one coherent set.

Canarying / Phased Releases / Staged Rollouts

While the name is not fully defined, the feature is. Canarying will allow publishers to release new revisions to a subset of devices in order to receive feedback and test for bugs before rolling out the revision to all devices.

17 Sep 2019 7:30am GMT

16 Sep 2019

feedPlanet Ubuntu

The Fridge: Ubuntu Weekly Newsletter Issue 596

Welcome to the Ubuntu Weekly Newsletter, Issue 596 for the week of September 8 - 14, 2019. The full version of this issue is available here.

In this issue we cover:

The Ubuntu Weekly Newsletter is brought to you by:

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!

Except where otherwise noted, this issue of the Ubuntu Weekly Newsletter is licensed under a Creative Commons Attribution ShareAlike 3.0 License

16 Sep 2019 8:46pm GMT

Ubuntu Blog: Introduction to MicroK8s – Part 1/2

Every developer, systems admin and tech enthusiast is interested in learning Kubernetes. Kubernetes is a complex container orchestration tool that can be overwhelming for beginners. Kubernetes has been the buzzword in the tech industry and for good reason. If you're itching to get started with Kubernetes and not looking forward to the complexities involved, this first blog of a series is for you. We'll walk you through getting up and running in a jiffy with a Kubernetes deployment using MicroK8s. The following blogs will do a deeper dive into add-ons and usage.

What is MicroK8s?

MicroK8s is a powerful, lightweight, reliable production-ready Kubernetes distribution. It is an enterprise grade Kubernetes distribution that has a small disk and memory footprint while offering production grade add-ons out-the-box such as Istio, Knative, Grafana, Cilium and more. Whether you are running a production environment or interested in exploring K8s, MicroK8s serves your needs.

Why MicroK8s?

MicroK8s is the smallest, fastest multi-node Kubernetes. Single-package fully conformant lightweight Kubernetes that works on 42 flavours of Linux as well as Mac and Windows using Multipass. Perfect for: Developer workstations, IoT, Edge, CI/CD.

Anyone who's tried to work with Kubernetes knows the pain of having to deal with getting setup and running with the deployment. There are minimalist solutions in the market that reduce time-to-deployment and complexity but the light weight solutions come at the expense of critical extensibility and missing add-ons.

If you don't want to spend time jumping through hoops to get Kubernetes up and running, MicroK8s gets you started in under 60 seconds.

Basic Definitions of Concepts


To run MicroK8s, you will need a computer with a Linux distribution that supports Snaps such as Ubuntu 🙂 If you have a Windows PC or a Mac, you can use Multipass to get MicroK8s running.

Getting Started

Now that we have the context on what MicroK8s is, and said how easy it is to get started, let's take it for a spin.

1. Installation

sudo snap install microk8s -classic

In under 60 seconds you should have your distribution up and running!

2. Check the status of MicroK8s using the following command:

sudo Microk8s.status

You screen should look something like the figure above. You can see MicroK8s is running which means you have your Kubernetes going!

What's Next?

Well, this one liner setup that's made so simple by MicroK8s usually has a lot of hurdles and complexities involved if you're setting it up manually. Now that you have your Kubernetes deployment up, that's just the beginning. To do useful stuff you need to do even more complex tasks for setting up components depending on your work needs. This is where the add-ons come in; MicroK8s comes packed with powerful add-ons which again, will save you from the complexities of setting these up and get you going with a few lines of commands.

Head on to the next blog post to explore a use case and see the power and magic of simplified K8s using MicroK8s!

16 Sep 2019 4:57pm GMT

06 Nov 2011

feedWhere is Ploum?

What happened during GSoC 2011?

I know I'm very late, but I really wanted to talk about this year Google Summer of Code.

For the third year in a row, I was a mentor. And this year I have a huge deception to share. I'm really sad. This week, I'v received the GSoC 2011 t-shirt. They sent me the wrong size. XXXL. I can use it as a sleeping bag with my girlfriend. I'm really disappointed.

GSOC 2011

Hopefully, GSoC is not only about receiving a t-shirt. It is also about mentoring a student.

Nearly two years ago, I started working on a complete refactoring of GTG. The code was a mess, with a lot of duplicate everywhere, with two bugs appearing while you were trying to solve one, etc.

I abstracted the structure we were using in several places and started to write a library to handle those "Acyclical Directed Graphs". As usual, it appeared that development was taking longer than expected. Weeks turned into months. Then, when it started to look good, I discovered that I forgot one critical point: thread-awareness. I felt hopeless.

Because I didn't had the motivation to do that heavy work, I proposed it as a Summer of Code project to a very motivated student: Izidor Matušov[1].

Words doesn't do any justice to the excellent work that Izidor did this summer. He's simply awesome. Some students are goods because they have previous experience. Izidor kicks asses. He learns so quickly, he's so assertive. The work was even harder than what we anticipated. But he managed to achieve everything, including feeding me with cookies at the Desktop Summit, where we met and had an awesome hacking week.

Lionel (Ploum) & Izidor at Desktop Summit

As much as I'm deceipted about the t-shirt, I'm delighted about the work achieved this summer. Izidor now knows GTG nearly as much as I do. He's taking initiatives, like organizing an online GTG hackfest on November 26th[2] and he's a bug-answering machine.

Dear Google, GNOME foundation and Lanedo[3], I would like to thank you. Thanks to your support:

  1. I received a worthless piece of clothes that travelled half of the world in order to clean my cat's dirtiness.
  2. GTG 0.2.9 should be released before the end of the year
  3. GTG gained a new co-maintainer
  4. I gained a new friend. And it probably worth everything else.

Congratulations, co-maintainer Izidor. And welcome to the community!


[1] Yes, I'm able to write his name correctly, thanks to my wonderful keyboard layout

[2] #GTG, on Gimpnet, during the whole day

[3] Lanedo paid for the travel, the accommodations and, as you can see on the picture, the clothes during the Desktop Summit

06 Nov 2011 6:23pm GMT

05 Nov 2011

feedWhere is Ploum?

The aristocratic desktop (part 4) : Kill The Double Click

Part 1 : Introduction
Part 2 : Home is Desktop
Part 3 : There's no tray icon in GNOME !
Part 4 : Kill The Double Click

When I started installing the best desktop possible for Marie and Jean, we were still in the GNOME 2.X era. GNOME 3 solved my previous concerns. No in the way I envisioned it, but solved them anyway. No more desktop icons, no more tray icons.

But now that I'm introducing Marie and Jean to GNOME 3, I still have some concerns. And one of that main concern is the infamous double-click!

Mouse click

Do you remember? Jean is a very brilliant mind, even though he never used a computer during his whole life. As a reasoning scientist, he was trying to find the logic behind my teaching.

During one of our first lesson, "Using the mouse", the conversation went like this:
- How do I know if I have to click or double click?
- Well, you double-click on icon and simple click on links and buttons.
- How do I know what is a button or an icon?
- …

Since that time, I've tried many times to find a logic behind single or double clicking. There is not. You have to learn it by experience. And it is totally, utterly pointless.

I also realized that a single click was something really hard for Jean. Achieving to click on a given point without moving the mouse is really hard for older people. Then, ask them to click twice, with a completely arbitrary speed, without moving the mouse, not to quickly, not to slowly. Impossible.

Marie, on her side, was double-clicking everywhere. And, surprisingly, it works most of the time.

So, why do we have double-click in some places? Because we want to be able to select an item without "activating" it. How often does it happen? Never for Jean. Very rarely for Marie.

To summarize, we are making the most frequent action very hard to nearly impossible in order to allow a very rare action?

I tried to disable completely the double-clicking in Nautilus.

Do you know what?

It works. Even for me. I had chronic pain in my hand and disabling double-click was a relief. I explained to Marie to never double-click anymore. She's still double-clicking from time to time but everything works even better than before. Jean was eventually able to launch a file from within Nautilus.

Selectiong multiple files Selection of one or multiple file with single mouse click

What about selection of files? I explained to Marie to draw a square with the mouse. And, yes, she found that absolutely intuitive. The only drawback I found so far was the inconsistency with lists, where double-clicking is still required. Marie called me one day because she tried to play a specific song in Rhythmbox. It wasn't working. I realize that she had to double-click on the song. "But you told me to never double click anymore!". Sorry Marie.

I'm myself incredibly frustrated by any system that requires double-click. Why do we still have double-click by default in GNOME3?

Part 1 : Introduction
Part 2 : Home is Desktop
Part 3 : There's no tray icon in GNOME !
Part 4 : Kill The Double Click

Picture by Dave Dugdale

05 Nov 2011 12:17pm GMT

28 Oct 2011

feedWhere is Ploum?

J'irai pisser sur votre moquette

Si vous deviez me décrire en deux mots, nul doute que fourbe et profiteur vous viendraient spontanément à la bouche. Paresseux, parasite et inutile suivraient de près. Et j'en suis fier. J'en ai même fait mon mode de vie.

Ma technique est simple mais éprouvée. Je croise un inconnu dans la rue à l'air affable. Tenez, prenez ce jeune homme à l'allure dynamique. Il s'appelle Jean, c'est ma prochaine victime. Il ne se doute encore de rien mais j'irai dormir dans le lit de sa femme tout en vidant son frigo.

Au premier abord, je fais le numéro du sympa-sociable, les circonstances m'ont conduit dans la rue, où j'ère sans but précis, mais je ne me plains pas, je ne quémande rien, au contraire, je refuse tout geste de pitié trop ostentatoire. J'ai ma fierté.

Lorsque Jean se propose de m'emmener manger à la maison, juste pour la soirée, je fais d'abord mine de ne pas être intéressé. Mais mes yeux acquiescent et Jean, en rigolant, insiste, me forçant presqu'à le suivre. Inutile de vous dire que c'est ce que j'attendais mais la victime doit croire qu'elle a l'initiative, c'est primordial.

Martine, la femme de Jean, n'est que moyennement contente de cet imprévu. Qu'à cela ne tienne, je fais mon charmeur, je séduis tout en ayant l'air de ne pas vouloir déranger. Je fais également un peu le pitre pour la dérider.

Et ça marche. Avant la fin de la soirée, elle discutera avec moi plus qu'avec Jean lui-même, ce dernier étant parfaitement inconscient du destin de proie que je lui réserve. De manière indirecte, je fais comprendre que je n'ai nul part où aller. Jean et Martine n'ont pas le cœur de me renvoyer seul dans le froid de la nuit. Ils se proposent donc de m'héberger, juste pour une nuit. Tandis que je m'installe confortablement sur le sofa, j'entends Martine descendre l'escalier. Elle est en déshabillé, prête à aller au lit.

- « Bonne nuit ! » me lance-t-elle avec un sourire innocent avant de remonter dare-dare dans sa chambre.

Je ricane. Je n'ai même pas eu besoin de répondre. Une seule soirée me suffit. Homme ou femme, nul ne me résiste. Je suis comme ça moi.

Bien entendu, le « seulement pour une nuit » se prolongera. Je commencerai doucement à faire comprendre mes goûts précis, envoyant Jean au supermarché afin de m'acheter ce que je souhaite. Lorsqu'elle rentre du travail, Martine a à peine un regard pour Jean. Elle se rue à l'intérieur pour voir comment je vais. Pendant ce temps-là, je me prélasse sur le canapé, je me balade un peu. Avec mon air faussement négligent, j'ai pris soin de casser quelques bibelots auxquels ils tenaient beaucoup, par pure cruauté.

Lorsque Jean partit quelques jours dans sa famille à l'étranger, je n'hésitai pas: je me glissai une nuit dans le lit de Martine, sans même lui demander, sans même m'annoncer. Elle prit un air faussement surpris mais je sais qu'elle n'attendait que cela. Elles sont toutes les mêmes. Jean nous a surpris en rentrant plus tôt. Cela ne lui a pas plu. Il m'a dit qu'il m'avait sorti de la rue, qu'il n'acceptait pas cela.

Par méchanceté, j'ai répondu en déféquant sur la moquette du salon. Il a pu tout nettoyer. Il n'était vraiment pas content mais Martine a fini par le convaincre de me garder et d'exercer le moindre de mes désirs.

Il faut dire qu'ils sont vraiment bien mes deux esclaves. Je dors dans leur lit, ils me nourrissent, nettoient sans que je n'aie besoin de faire attention à rien. Quoi que je fasse, ils me regardent avec un air attendri et me trouvent adorable. Même au milieu de la nuit, il suffit que je me mette à miauler pour qu'ils s'enquièrent immédiatement de mes besoins.

Des esclaves aussi dociles, c'est rare. Je vais les garder encore quelques temps.

28 Oct 2011 4:59pm GMT