Switching from Firefox to Brave

The new Firefox ESR release has hit my desktop this week. Debian stable is stable; except for Firefox. Firefox ESR releases last only for about one year. Debian release cycle is typically about two years so in order to keep up with security fixes, Debian stable has to switch to a new major Firefox version once a year. That means replacing old bugs with new ones in Firefox more often than in the rest of the system.

This time, color management has stopped working for me after the update. The only way I’ve found to avoid green faces and/or completely false colors at some places was to disable color management completely. (Yes, using those cryptic undocumented numeric values in about:config.) I don’t know what’s wrong, the rest of my system hasn’t changed and all the other color management capable applications work normally. There are reports about color management bugs in Firefox 77 and later (the ESR version is 78). It’s not a critical problem, I can use a different browser when I need to see accurate colors, but it’s still annoying. But what is worse, such a kind of regression indicates that there is something wrong with Firefox development.

Firefox is dying and IMHO one of the reasons is that it stops offering attractive features to its users. Which of the new Firefox features introduced in the last years do you use? I can’t recall any. Which of the old Firefox features removed in the last years do you miss? I can recall several.

Firefox has still some significant advantages over most other web browsers: It can still browse the web, it’s free software and it doesn’t track its users (this may be a bit arguable but there is a clear difference against the most popular web browser). But I’m afraid Firefox won’t survive and we will be able to use only proprietary web browsers in the future, returning to what we had a quarter century ago. There is at least hope we won’t remain just with The Only Mighty Web Browser on GNU/Linux.

Enough is enough and I think it’s time to start looking around. Firefox has already set my web browser UI expectations so low during the time that there is little barrier to start preparing for the future by switching to a different browser. So I’m switching to Brave. Well, who knows how long that web browser survives. But it’s free software, based on a popular code base, led by Brendan Eich, and with an interesting approach to privacy, advertisements and content creators. And yes, color management works in Brave.

The Brave concept is definitely worth to try. Replacing spying advertisements with micropayments should have already been here long time ago and I’m happy we have finally something that starts pushing the very needed change seriously. It’s currently only a half-step IMO because of the use of cryptocurrencies (the concept of money based on wasting electricity is flawed) and requiring me either to accept privacy-respecting advertisements (no, thank you, I’m not interested in advertisements) or to upload my identity card to an internet service (I don’t know why Binance needs it for small exchanges; there is no such need when using real money). So I’m taking also only a half-step now and just switching to Brave and not joining its Rewards program. Hopefully the service will evolve and will allow me to use real money sooner or later to reward content creators.

Natalika

Who remembers the old times when most music albums were not available on streaming services and couldn’t be bought online as downloadable archives? In the pre-online music era, there was a lot of amazing recordings by non-mainstream artists that are no longer available nowadays.

I was lucky a couple of times and discovered great old CDs in some “forgotten” e-shops or in second-hand stores. A few of those old recordings were released again. But most of them are unfortunately inaccessible, maybe forever.

One of the recordings that I’ve missed were albums by Natalika. That amazing world music band was quite popular for a few years around 2000 (in the sense that it even appeared on TV several times). And then the band disappeared for long time. IIRC their CDs were never available in normal distribution so I’ve never seen them in CD shops. And I think their online presence was irregular during the time. From time to time, I recalled the band but couldn’t find their CDs anywhere at the moment.

I’ve recently recalled the band again and found out that they have a working web site and their 20 years old CDs are still available. What a discovery! I ordered the CDs and now I can enjoy listening to those great pieces of music, which were previously missing in my music archive. AFAIK those CDs are the last unsold pieces, which won’t be available anymore in any form once they are sold out. If you like that kind of music, grab them while you can, they are worth it.

User-Centric Payment System for streaming

Deezer’s push for User-Centric Payment System (UCPS) looks like the right step. It has always annoyed me that, because I don’t stream much, my money spent on streaming goes mostly to the popular music that I don’t listen to. I wonder whether the planned Deezer move to UCPS will really happen.

In any case, one of good ways to support the artists one listens to is buying their albums. If I really like some album, I buy it.

A usable music player for Android

It’s surprisingly difficult to find a music player that works. I have the following minimum requirements on a usable music player for Android:

  • It is free software.
  • It can play music.
  • It can play album tracks in the correct order.
  • It can search by artist and by album.
  • It can recognize music library updates.

There are many free music players for Android. But finding the album I want to play and to play it in the correct order is a problem for most of them.

I could find (exactly) one music player on F-Droid that works: Odyssey. So far it looks flawless, it’s well usable and can play music well. And it’s licensed under GPLv3, which is another plus.

Free navigation software

There is quite a lot of free navigation software based on OpenStreetMap, but it’s somewhat difficult to find something that actually works for the given purpose. I feel like I need to document for myself what to use. And why not share the documentation? Hence this blog post.

It’s easy on Android – there’s OsmAnd there. OsmAnd is somewhat difficult to use but otherwise it’s nice, working well and providing a lot of useful features.

It’s less easy on desktop. After some searching I got amazed by BRouter, which is a navigation backend capable of offline OpenStreetMap based navigation. That’s a killer feature itself, but BRouter also provides another outstanding feature. You can create complex BRouter profiles describing your navigational preferences, which is especially useful for bike navigation. BRouter can’t be used without reading its documentation first and it takes some effort to make it running. But it’s not too difficult and once BRouter is up, it’s amazing.

BRouter can be used on both desktop and Android, but it’s just a backend server. You need some frontend to actually use it. You can use OsmAnd on Android. There is a very plain BRouter application to set up the server and then BRouter can be chosen as the navigation backend in OsmAnd preferences. As for desktop, you can use Web client for BRouter. It can be used locally or as an online Web application, with your selected set of profiles. There is also an online demo for testing BRouter with its included profiles (there are more profiles available from third parties, see documentation).

For simpler planning, especially for making simple sequences of track points used e.g. by some Garmin devices, FoxtrotGPS is well usable. Unfortunately FoxtrotGPS seems incapable of displaying complex GPX tracks. But then there is GPX Viewer, which is nice for viewing GPX tracks.

Using Polar M460 on GNU/Linux

In short: Use Garmin if you can afford it.

The problem with Polar devices is that they are not only proprietary themselves but you can’t operate them without using additional proprietary software. If you don’t like the default Polar M460 sport profiles and screens (and no, you won’t like them), you must find someone with Windows (or Apple) computer. You must install Polar software on the computer and use it twice: First to register the device at Polar and upgrade its firmware and then, after you prepare your setup in the Polar Web application, to change the device settings.

Good news is that then you won’t need Windows anymore, unless you want to change device profiles and screens or to upgrade firmware again. But you’ll still want to retrieve data from your device regularly. You can do that using the Windows application, using a proprietary Polar Android application or (fortunately!) you can do that even on GNU/Linux.

Thanks to the authors of bipolar and v800_downloader it’s possible to download and convert data from some Polar devices. It’s also the only way to get the data without sharing it with Polar. To download and convert data from Polar M460 you need a slightly modified version of v800_downloader (v800_downloader is unfortunately abandoned, so the changes can’t be integrated into the original version). It works for me and I can get complete recorded data: time, GPS position, GPS altitude, barometric altitude, temperature, distance, speed, cadence, heart rate, heart rate variability, and some summary data. There are sometimes problems such as that stored sessions can’t be listed or the downloaded data is incomplete. Reconnecting and/or restarting v800_downloader helps in such cases.

To use online and other features such as syncing data to Polar Web, mobile notifications, Strava segments, or route upload, you still need Polar Android or Windows proprietary applications (so no luck if you have a free software OS without Google Play on your mobile phone). All you can do with Polar M460 without using additional proprietary software is to use its built-in display functions and to download logged data. But that’s already quite a lot, especially for those who don’t race, don’t want to upload their private data anywhere and don’t need proprietary fitness analysis functions.

Why do I think that using Garmin devices instead of Polar or other vendors’ devices might be a better idea? As far as I know Garmin devices still expose logged data via USB mass storage protocol and it’s possible to set up most of their functionality without using external software. So there is no trouble with their basic usage, Garmin allows at least using the basic device functions. You also get navigation functions and ANT+ support with most devices.

Is there still any reason to use Polar M460 then? Well, Polar M460 is a nice device equipped with all the common sensors, either internal or external. Up until recently, only very expensive Garmin devices supported Bluetooth (which matters if you want to use devices such as Polar OH1). You can buy Polar M460 for a good price today, Garmin is much more expensive and since Garmin devices are still proprietary (although with less need to use additional proprietary software) you waste your money on a proprietary device. But the price difference may be erased with the new Garmin Edge 130, which looks interesting (I don’t know whether it works with GNU/Linux though).

BTW, very similar problems are with Polar OH1. You need a Windows computer to initialize the device and to upgrade its firmware. If you are interested in using it as an independent device, there is still some chance to download logged heart rate from it.

25 years of Linux

The 25th anniversary of Linux has been celebrated recently. I can’t remain silent about it because Linux has been playing an important role in my life.

In 1980’s, Richard Stallman started a heroic and successful effort to create a free operating system in response to the unfortunate dominance of proprietary operating systems. But in 1990’s, his GNU project was still missing a very important part – the operating system kernel. This gap was filled in by Linus Torvalds when he started working on a new operating system kernel called Linux and decided to publish it under the GNU General Public License.

I’m not sure why exactly Linux took the place and became so popular. Perhaps it was the right thing coming at the right moment. When I first heard about Linux, it was IIRC around 1993, it looked like an amazing alternative to the world dominated by the unbelievably inferior Microsoft systems, complemented by proprietary Unix systems that were anything but a suitable operating systems for a student’s PC. The only real alternative to DOS and its graphical add-on called Windows was the BSD family of systems. But Linux, perhaps due to being a young system, was less hardware demanding and I could run it, including the X Window System, on my PC equipped with 4 MB RAM. I abandoned DOS/Windows and soon switched to using GNU/Linux exclusively.

It was a lucky choice and it founded the direction of my professional carrier. I didn’t bother to pick the best things from different worlds and to use different operating systems for different purposes. I instead focused on the right thing and solving the numerous problems I faced when I started using GNU/Linux. I learned that freedom has its price but when one is ready to pay it without looking aside, it brings a great revenue.

I’ve been a GNU/Linux user for more than half of my life. The proprietary vendors who tried to lock users inside their proprietary systems, similarly as they try to do today with e.g. smartphones and IoT devices (despite they often run on top of the Linux kernel!), have failed to put the advancing free operating system to irrelevance. I can still use GNU/Linux and I can make my living by developing free software on Linux.

Fairphone owner

I own a Fairphone now. When I first heard about the Fairphone project it looked interesting to me, but I haven’t thought about it seriously for two reasons: 1. price, 2. I wanted the phone to be fair not only in the production chain but also to its users. When I recently started looking for a possible replacement of my old smartphone, I found out that the second problem has been fixed.

Now how about the price? A smartphone with similar hardware specifications can be obtained maybe for half the price. But Fairphone has some unique features:

  • It officially supports a free operating system with optional root access. You can freely choose whether you want to use a restricted proprietary system with Google applications or a free operating system without them. Both the options are officially supported.
  • You may also install another operating system on the phone without voiding the warranty. You’re still responsible for damages caused by malware or improper use of the root access, but the mere fact that you install another system on the phone doesn’t void your warranty.
  • Some parts of the smartphone are replaceable and they may be (in theory) upgraded in the future. And you can replace them yourself easily.
  • The smartphone is designed to last. I think nobody can tell whether it will really last, but there is at least some effort to make it more likely to happen.
  • And of course, the production of the smartphone tries to be fair. Ethics matters.

Fairphone is not perfect, but it’s the only reasonable smartphone I’m aware of that provides such a level of fairness. Considering that fact, the price is actually reasonable – freedom and ethics have their price. We must be ready to pay it, otherwise we lose those basic values. Fairphone is very unique on the distorted smartphone market, where harsh restrictions, previously rejected on the PC market, were successfully introduced without any big protests. Consider my previous smartphone:

  • It occasionally rebooted itself. Well, I could live with that.
  • The provided operating system was proprietary and contained proprietary applications that I didn’t want to use, that wasted the small storage space available and that I couldn’t remove. This is not acceptable.
  • The provided operating system was already obsolete when I bought the smartphone, even security upgrades weren’t provided. Using an old operating system is debatable, lack of security patches is not acceptable.
  • Installing an alternative operating system was possible but only with a clear message from the vendor that it would void my warranty. I’m not sure it’s legal in the E.U. but it’s not acceptable in any case.
  • Nothing was advertised about how the smartphone was produced and what harm it caused to workers or regions of the world.

Would I like to pay any money for such a device again? The obvious answer is “no”. And that was one of the better smartphones on the market, where additional restrictions such as impossibility to install a different operating system or even just unapproved applications were present.

There are some problems with Fairphone too, for instance:

  • Not everything in the supply chain is fair. The nice fact is that the vendor admits it and tries to do what’s possible in the current world.
  • Proprietary binary blobs are used in the operating system. This is the sad reality of the current market that Fairphone can’t change itself. We all must call for the change.
  • There’s no waterproof version, I miss that feature from my previous smartphone. The nice fact is that the vendor explains why the phone is not waterproof, with good arguments. (Compare it to an approach of a well known company that sells more expensive smartphones without offering a waterproof version; it officially sells an expensive waterproof case instead, which is not very useable according to the user reviews.)
  • It doesn’t provide the best hardware and the newest Android available today. But it still provides all I need and is much modern than my previous smartphone, so I don’t care much.
  • When the smartphone is charged, the touch screen works very unreliably with most chargers (charging from a computer USB port works fine for me). It was scary at first, it’s very annoying and it must be a design problem.
  • Switching from Cyanogenmod, which I used on my old smartphone, to something close to the stock Android is frustrating, many useful features are missing.
  • Fairphone can’t change that much. But it raises the awareness and makes some important steps towards a better society.

No smartphone is perfect and I like the fact that the company tries to be transparent about problems.

So I decided to buy a Fairphone. I dislike how most other vendors treat their customers and I don’t like paying them for that. I’m sad that many people pay big money to companies that mislead users and try to restrict their freedom and privacy. Fairphone 2 reviews often complain about the hardware etc. and don’t mention how nice it is to its users. That pretty well illustrates what we care most about – having funny toys without caring about our freedom.

One of good ways of fighting evil behavior is to support good behavior. And this is one of the major reasons why I decided to buy the Fairphone. I still can’t equip my whole family with Fairphones, it’s not affordable. But I wish that would change one day, so I should support the project.

Did I say that I own my Fairphone? Yes, it’s a great feeling of owning the device, instead of being owned by the device. The phone is fair.

Who cares about Web accessibility?

I was at a Web development presentation some time ago. The presenters from certain company talked about many competencies needed for development of complex Web applications, such as knowledge of Web standards, JavaScript toolkits, Java programming, databases, photo editing, etc.

Many things were mentioned, but one important competency was completely omitted: understanding Web accessibility, i.e. making the Web applications accessible to handicapped users. So I asked about that. The answer was that understanding Web accessibility is indeed an important Web development competency but quite difficult and the company’s customers (such as banks, insurance companies, phone operators, media groups) don’t ask for it. So the company doesn’t care about it when making the applications.

I couldn’t find a better response than “Thank you for your answer.”. Is the Web development company to blame? Probably not. They are asked to make applications attractive for most users. The customers don’t care whether the applications are attractive or at least usable for handicapped users as well. Why should the Web development company implement features nobody pays for? Perhaps they can just suggest considering accessibility when negotiating with the customers (which they probably don’t do).

So companies want to invest much money into making their Web portals more attractive for the majority while they don’t care a bit that their portals can’t be used by persons with various disabilities. They exclude those users from common life and make their lives even harder.

Probably only law can fix that discrimination. But if you make Web pages or applications, please don’t forget that there are people who can’t see, who are colorblind, who can’t hear, who have reading problems, who have various motor skill impairments. It’s not easy to live with those handicaps, let’s not make lives of those people even harder by building yet another barriers to them and excluding them from the society.

Turris Omnia router

Turris Omnia is an open hardware & free software high performance home router. You can still get it for a reduced price for a few days if you contribute to its Indiegogo campaign.

I think this is a good deal. Although the router is not cheap, it’s worth the money. There are not many alternatives. And Turris is no vaporware, it’s based on a previous product manufactured for a CZ.NIC security research project.

I’m glad the project is successful and we are going to have high performance, reliable and secure home router designed from start as an open device.