How linux applications are missing the data era. (the same way they missed full internet usage.)
Reading time: 13 minutes
For a student wanting to use a drawing software, installing FLOSS (Free Libre Open Source Software) is the only way to go. Instead he will hurt his limited budget buying expensive software. This was and still the case, whether you need to write a document, develop a program or even do some 3D design. With the internet and with the tools now freely available online with no apparent cost, times are changing and free as in freedom software are getting more rude competition. I will explain what happened by clustering important events into temporal eras:
1. The Internet Era (1998-now):
I think that the real Internet era started with the 2000 boom and the increasing numbers of services being directly accessible online instead of the need to move to a physical place. During the beginning of this timespan, most software are still in the form of packages that needs to be installed on the target computer before being launched. The usage of Internet was just a mean of package transport simplification and no more.
In the second half of this timespan, and with the maturity of the Internet, the launch of a new browser like Firefox in 2002 which is way more advanced than the stagnating Internet Explorer, things started to change. A little bit further, terms like Internet 2.0 appeared with the inclusion of social services and AJAX requests. This allowed companies to include richer services, replacing parts of the old software distributed as packages. Some people still had a lot of doubt about these early “cloud” services but technological demonstrations like the 2007 EyeOS launch were so advanced at that time that started changing people’s minds. EyeOS was a demonstration of the interface of an operating system running inside the browser.
In the FLOSS world, things were also changing during all this period. More people had access to internet and can now discover the existence of free software. They can now download some packages. They can help improve Linux and other software. Yet the main way to have Linux is through CDs distributed with magazines or through the free CDs sending service of ubuntu which participated in its huge popularity (and which was stopped in 2011 for the same reason). Except downloading software and installing then using them, there was no many other uses of the Internet for software. In that period, people started commenting on posts and have more social interaction, FLOSS software haven’t changed much except in the number of raw features and stability. Other software launched by big companies, started showing newer uses for software through a deeper integration of Internet services inside the software itself.
Let’s take some examples of how new applications get much from an internet connectivity:
Chrome allowed people to install extensions just by searching for them inside the application itself. Then a single click allowed the install without a restart.
In Android Studio, you add a library by searching inside a form. You don’t need to exit from the application and the library is added directly to the configuration. Another way is just to add the full name of the library inside the configuration file and it will be fetched automatically.
Now, what if you want to do the same thing with popular FLOSS software (that are not coming from Google)
Inkscape case:
If you want a plug-in, you need to go to a web browser, search in Google for Inkscape extension, go to this website as suggested by Google: https://inkscape.org/fr/gallery/=extension/
Then download the extension as a zip package, then close Inkscape if it is open, search where it is installed, extract the content of the extension in the correct folder (and handle some write access parameters) then restart inkscape.
What a complicated way to do things! What if the user is not very Linux native and he is just a designer or a student who wants to get some things done quickly? He will reconsider buying the closed source alternative which is easier to use, or try its web based subscription for a month which price is equivalent to of two sandwiches.
What happens to Inkscape after such complicated maneuvers? Almost little to zero increase in the number of users, and no increase in users means no increase in eventual developers.
I have chosen Inkscape as an example, the same thing applies for all applications in Linux presented as the FLOSS alternatives to proprietary tools including Gimp for photo editing and Blender for 3D creation.
The use of internet is limited to the old way of installing and sharing packages, without fluid integration of in application installable content.
It’s not only about extensions, it’s about empowering users and saving their time. Users don’t care about raw features, they care about having their work done in a good and presentable way, and as soon as possible.
Let’s take another example, not about extensions this time, but about templates for creating a new document. Templates are very important to get people listening to your presentation, instead of commenting about the unreadable text and colors.
After opening LibreOffice presentation tool Impress, you get a blank document with no templates to build upon them. Going through the menus to find the templates brings you a window with very few options to choose from. LibreOffice is now almost two decades old (if we consider OpenOffice and even StarOffice). Through all these years, it hasn’t attracted designers to add templates to the project? Maybe adding templates to its repository is a hard work for a non developer.
Opening a new presentation in LibreOffice Impress
Provided templates in the LibreOffice Template Manager.
What about other presentation tools like Google Slides? It gives you a lengthy list of templates to choose from. Sure you can’t compare a software supported by a huge company to another supported by volunteers, but why adding new features while the basic ones for a new user are not met?
Template gallery of Google Slides.
All FLOSS software you can find in a newly installed distribution may have missed the Internet 2.0 era with social interactions and improvements. A tool should allow receiving extensions from a random contributor or a template from a designer, other people can then install that extension/template without quitting the application. Instead of this, FLOSS software stayed as isolated islands with the same concept of a Windows 98 application.
We are living in 2017, this interconnectivity is not even the current state of the art notion of what a software should provide, which means FLOSS software may be more than a single generation away from the status quo.
Current competition is hard, the gap is getting wider and things should change before sinking into irrelevance.
2. The Data Era (2007-now):
Anyone has surely heard that we live in the “age of information”. What is meant by “information” can be really wide, but there are some kind of knowledge which turns out to be very useful:
Knowing how a user uses your software, how he interacts with it, and how he gets confused searching for a feature before finding it in the menu is a very useful information. Knowing which parts of your application people utilize most is a useful information. Also knowing which type of templates and extensions people like is something important and reveals what is the current trend.
Only knowing these first-level few information is what can stir up decisions into readapting the user interface or totally rethinking the interaction itself.
The work doesn’t just stop here. What we are doing here is a direct collection of information. Data mining -which is a multi decade old field- turns usage data into a more revealing magic window.
Crossing basic usage statistics with other information databases can give you the reasons why people don’t use your software the way you intended them to. Maybe because of the long execution time in some places, or the resolution settings not showing all elements or may be something else which has to be discovered.
This field is so much exploited in retailer stores to the point that they know which products are bought together, whether buying a product impulse buying another one if they are close, and which path you follow between the products makes you buy more and more. That is why for example you are directed most of the time and without even noticing to enter from the right, find vegetables and fruits first, and then go through other elements like frozen pizzas.
I’ve chosen 2007 as the date of Android release. Smartphones are sensors heavy devices and android applications are known of collecting data not just to benefit the application, but any data about users that can reveal exploitable information using big data tools.
Sensor fusion can reveal which tools we use, which TV channels we view, how many time we take a shower or wash hands.
This is a scientific work on how a small set of sensor and machine learning can reveal about usage:
This is the importance of the data in the wild, but FLOSS developers should think about integrating data collection into its spirit in a moderate and organized way. Many applications already asks for usage data, and in web applications, they are collected without even asking with tools like hotjar.
Apple is asking above for automatic sending of usage information.
In the FLOSS world, you can find licences to organize how the source code can be shared and used, you can find creative commons licences to organize how the artistic materials can be shared and modified, but what about data? They are not a source code, neither a very artistic creation. Data can in the same time be much much more important and more useful.
In this article I haven’t cited everything, but I just wanted to raise attention to important aspects that are keeping FLOSS applications from competing with today’s proprietary tools. The story is still very long, and contributors should stop and think about all of this instead of adding new features no one uses or creating a new desktop environment. There are other fields where contributions are very needed. I hope FLOSS contributors get the point and don't see this critic article as a insult to all their valuable work through the years. They just need to know that a large gap is forming.
A Picture which I can’t find the original author, and that describes the current situation
This huge ergonomics and design gap between floss and proprietary software is so tedious. Look at how long it took to have a Linux distribution that's relatively easy to install? It's just the sad truth. Why do you think it is as it is? You mentioned in an earlier post the success story of Blender. But don't you think most of the time, the reasons behind the lack of ergonomics of FLOSS are: - being too focused on code quality as opposed to solving real-life problems - lacking financial sustainability - and time Most of FLOSS are maintained by a small group of people. Rarely do they gather as much of a community as Blender. Moreover any people other than developers will not work for free for the project. And that's what it takes to get quality UX. You need designers, salesmen, and a bunch of other people. Don't you think, paradoxically, most of the times, the business model chosen by Blender simply doesn't work in terms of income? Proprietary softwares vendors have more pressure to make things succeed because they are involved financially. Don't you think we need this sort of input in the FLOSS world as well?