
2018 Desktop Linux Platform Issues - AnIdiotOnTheNet
https://media.ccc.de/v/ASG2018-174-2018_desktop_linux_platform_issues
======
Daishiman
Honestly, the Linux desktop war has been won by Debian/Ubuntu. I know of no
casual Linux desktop user who's not on Ubuntu, or a Debian version that's
sufficiently close.

Packaging for Ubuntu first and having a tarball that any other use can play
around with to get running is fine for most commercial software's needs.
Chances are if you're running Slackware, Gentoo, Nix, or other non-mainstream
Linux distros you'd be hard pressed to use commercial software anyway.

------
mwfunk
I’m sympathetic but it’s tilting at windmills. These are the exact same things
people were arguing about 20 years ago- if only everyone in the desktop Linux
world would all agree to standardize on a bunch more high-level common things
(package managers, desktop environments, etc.), then some form of desktop
Linux would become a juggernaut that would steamroll Windows and take over the
world.

Arguably Android has achieved the role of Windows in the mobile world, but not
because the Linux community collectively all agreed to standardize on it. The
fact that it’s Linux under the hood is almost incidental to its success. I
don’t think that’s the kind of victory he wants though. 20 years ago there was
a sense that desktop Linux would just magically converge, eventually, to
effectively a single platform. But there’s never been a critical mass of
support for any one distro or desktop that caused all competition to wither
away.

There may absolutely still someday be a popular form of desktop Linux that can
go head to head with the big players in terms of market share, but if so I
don’t think it will be referred to as “Linux”, and most users won’t even know
that they’re using a Linux/GNU/etc. system. Maybe ChromeOS can get there, who
knows. But that’s likely not what he wants either, he wants what so many
people thought was inevitable 20 years ago. I would never dissuade anyone from
trying to make that a reality, but I personally lost hope many years ago.

~~~
AnIdiotOnTheNet
> There may absolutely still someday be a popular form of desktop Linux that
> can go head to head with the big players in terms of market share, but if so
> I don’t think it will be referred to as “Linux”

I agree. The Linux Desktop community has proven over several decades that it
is simply not up to the task of doing what needs to be done to put together a
good Desktop OS. If the Linux kernel starts being a serious contender on
Desktops it will be because someone has completely replaced the userspace that
currently sits above it and given it a new name to differentiate it from all
the problems of the Linux Desktop. I thought google might do this with
Android, but it seems that they aren't really interested. Even their recent
additions to ChromeOS seem to be only targeted towards enabling web dev
workflows.

~~~
pjmlp
Android is all about their version of Java, the NDK is there only as helping
hand for implementing native methods, importing code from other platforms,
audio and 3D graphics.

Brillo was supposed to be Android with userspace C++ for IoT, until it got
rebooted as Android Things, having features that regular Android still lacks,
like userspace drivers in Java[0].

Which is understandable from the point of view of security, but also shows how
the actual kernel is mostly an implementation detail for the large majority of
app developers.

[0] - Actually Treble allows them as well, but in a different way.

------
cryo
Short version and my own rant (IMO)

Desktop application developer should write their software for ONE _Common
Linux Desktop_ (abstraction).

This would defines all rules on how fundamental things must be done and
includes _everything_ concerning desktop applications.

The developer must not care about Gnome, KDE, Ubuntu, Xfce, .deb, flatpack,
Snap or whatever, because this is insane and beyond stupid.

1\. Desktop environments, Frameworks like Qt and Gtk and Distributions need to
support the ONE set of Linux desktop rules.

2\. Developers and their applications can rely on these rules only.

Until this happens we are caught in a infinite while loop.

while (1) { if (haveOneLinuxDesktopApi()) break; }

There's are already kind of that mindset given by Freedesktop.org, this work
really needs to be embraced and supported more to bring relevant parties
together before they decide to write yet another package format.

I think the main problem is not a technical one but that developers of desktop
environments, package managing and frameworks for some reason don't reach out
to each other and work on ONE common ground for the desktop.

Look at Snap and Flatpack, why on earth don't they work together for one
solution and instead punish users and application developers again and again.

The current situation is a nightmare for users and application developers.
There is not a single desktop application which benefits from this mess.

~~~
michaelmrose
Only a philistine is looking at a robust interesting marketplace of ideas and
bemoan the degree of choice which has never been a "nightmare" in any
meaningful way to users.

It seems likely that the ultimate solution to making it easy to distribute
proprietary/complex to package software on linux will end up being Flatpak
because its pushed by but not owned by Redhat.

Regarding Snap Canonical wants to own the marketplace so that ultimately they
can monetize this. Its a single market not a way of distributing software like
apt. Since only Ubuntu will ever support it shockingly planet earth will
ignore it and like most Ubuntu specific technology it will die on the vine.
See upstart, mir, Unity for reference.

------
tannhaeuser
I think the Linux desktop works just fine. At times of shrinking desktop
usage, the goal should be to preserve what great apps we have (Inkscape,
Krita, GIMP, LO, FF, Thunderbird, and hundreds of others), rather than to come
up with new grand unified package managers and GUI frameworks that only serve
to put additional burden on actual developers of said F/OSS software. It's not
that the alternatives are free of problems either. Have you recently used
Windows 10? It's total spyware crap and only useful for gaming. What about
Apple's laughably limited, and increasingly failing hardware? I think Ubuntu
comes as close to a mainstream desktop Linux as it gets. And if you're
concerned about becoming dependent on a single vendor, you can switch to
Debian, or merge Ubuntu packages into Debian, or use Devuan, etc.

~~~
rqs
Overall, all of them are fine desktop environments.

But the thing is, if you're making a large application, for Gnome for example,
then you can't by default be confident that your application can work very
well on other desktop environments like KDE or XFCE.

I think this is what the speaker have meant: Linux Desktops moves many
responsibilities on to you (You need to test your app against for each desktop
environment for example). And sometime, that many responsibilities can be
troublesome (burden, to say the least).

~~~
michaelmrose
"But the thing is, if you're making a large application, for Gnome for
example, then you can't by default be confident that your application can work
very well on other desktop environments like KDE or XFCE."

This just isn't true. There are literally 40 different graphical environments
available that can run X applications. If your target desktop has the required
libraries for your app to work OR you have packaged them with your app it will
work regardless of users desktop.

------
bni
What is needed is a "dictator", like Linus is for the Kernel, or Apple is for
macOS, Google (to a lesser degree, but still) for Android.

This need to be someone that truly cares about a desktop experience, and
backwards compability, like Linus cares for the ABI for Linux.

The only people doing anything remotely like this is Elementary, but it is
very far from reaching any kind of critical mass. Also that its perceived as
macOS clone hurts it.

I think if this ever happens it will be a company doing this, and it won't
contain any kind of Qt, GTK, GNOME, KDE. Perhaps one of the big ones that
currently lack a desktop platform. Lets hope is is free software.

~~~
eudora
Wasn't Mark Shuttleworth fulfilling this role for Ubuntu as the Benevolent
Dictator For Life?

Ubuntu made great strides towards mainstream usability on the Linux desktop.

I think the GNOME project has a strong focus on design, with its Human
Interface Guidelines going back many years.

~~~
pjmlp
Like Red-Hat before it, Canonical has given up the idea that GNU/Linux
desktops would ever be profitable and like everyone else turned into the
server and IoT space.

~~~
eudora
Fair point.

I think the market doesn't have room for another desktop OS beyond niche uses.

As in, why would a mainstream user go with Linux over MacOS or Windows?

Same deal with Android and iOS. Insufficient room or need for #3.

Also, apps/software. Devs don't want to support 3 OSs. Users don't want to
switch to an OS missing software.

If Microsoft couldn't do it with Windows phone, I don't see why anyone else
could.

(Although, I just recalled, Chromebooks exist, found a niche (education,
grandparents) and found a monetization method (vampiring on user's privacy.))

Makes me wonder if Ubuntu could do a ChromeOS-like strategy. But without the
data-sucking.

~~~
AnIdiotOnTheNet
> As in, why would a mainstream user go with Linux over MacOS or Windows?

How are you defining "mainstream"? Because in the context of the Linux
Desktop, my experience is that people always define it to mean "someone who is
exactly uninterested or stupid enough to win me this argument". Resist the
urge to target some nebulous "mainstream" user because you'll just end up with
another internet kiosk.

What should be being targeted are the kinds of people who use desktop
computers for work and hobbies and actually like computers. Some will claim
that that's what Linux Desktop does, but the evidence says otherwise. If you
aren't a webdev or OSS zealot, chances are you aren't using Linux Desktop.
Personal computing is a hobby I grew up with since the 80s and I don't use the
Linux Desktop. There are people who've been in personal computing since before
that who are outspoken critics of the Linux Desktop.

~~~
eudora
I think I get what you're saying.

Wouldn't a computer enthusiast be happy and comfortable with desktop Linux
though? It's still hackable as you like and you can install a more.... I mean
a less simplified desktop environment.

(I assume by "targeting the mainstream" you mean simplification of the UI,
mostly)

I don't like any OS that oversimplifies, such as by removing advanced options
(why not put them on another screen?) But I am a strong supporter of proper
usability, including in Linux - just that things should be intuitive and
simple at first glance, and aesthetically pleasing. As in I don't want the
Linux UIs of ~2000 to return.

~~~
AnIdiotOnTheNet
I think you're confusing "simple" and "easy".

I'm a personal computing enthusiast and have been ever since I was hacking
away on an old (even at the time) IBM XT in my bedroom as a school kid. I can
use Linux Desktop just fine, I manage Linux servers as part of my day job,
hell, I was once president of a LUG. Frankly I think the Linux Desktop is even
worse for people like me than it is for the "mainstream" user, because the way
Linux is duct-taped together from disparately developed components makes it
difficult to reason about how it works, and modifying it in any meaningful way
can often mean hours buried in documentation that may or may not be up to date
(or correct, or even applying to your distro), or possibly even writing some
C.

I could go on for hours about how Linux Desktop's "design" philosophy is in
direct opposition to simplicity. It isn't about removing advanced options, or
making things aesthetically pleasing, it's about having a system that
functions in obvious ways, with few surprises and as little magic as possible,
where the abstractions are shallow and consistent. Linux Desktop, though, is a
hodgepodge at best and at worst a paper-thin wrapper attempting to hide a Rube
Goldberg machine made of garbage.

~~~
eudora
Interesting take.

I agree about consistency and intuitiveness.

------
chmike
My feeling is that we need to define a fixed point like an API at the
interface of software developers and desktop designers.

The fixed point would allow developpers to develop apps that would compile and
run on any desktops, and desktop or distribution designers need liberty degree
to explore, innovate and evolve.

POSIX did this for the unix commands and system function API, and it was a
success. It isn't perfect, but it provided a fixed point. Windows has Win32,
etc.

~~~
pjmlp
There is a UNIX standard for GUIs, that "beautiful" Motif thing, which
naturally is not something that consumers would like to deal with.

[http://www.opengroup.org/standards/unix](http://www.opengroup.org/standards/unix)

~~~
chmike
That's not an API. The goal is to let desktop developper inovate by keeping
backward compatibility with desktop applications.

------
jlarocco
I'm not sure I understand what he's getting at. What does it mean to run "on
top of" vs "in"? What's the problem in saying, "To run our app you need to
have libraries X, Y, and Z installed"? Is it a big deal to pick a font
rendering library and tell users they need it installed to run your app?

~~~
pjmlp
It is when those users technical level is thinking that the browser logo is a
synonym to turning Internet on, and call helpdesk when it isn't shown on the
desktop.

~~~
jlarocco
The subset of people who need the help desk to "find the internet", but also
install their own software is pretty small, and if that's the target audience
then the software developer should know that and install the prereqs
automatically - either bundled with the app (best option) or by bootstrapping
of the OS's built-in package manager (apt, emerge, etc.).

People are generally more tech savvy than ever before, and we're past the
point where developers needs to degrade the experience for everybody to target
a small group of completely clueless end users.

~~~
pjmlp
That point of view is what makes regular consumers flock to Apple, Google and
Microsoft platforms instead of GNU/Linux.

~~~
jlarocco
To be clear, I'm not trying to sell Linux, and I don't care whether people use
it or not. In fact, if gaining users means dumbing things down then I'm happy
they go elsewhere - it's probably best for everybody.

I was specifically curious what the presenter meant between "run in" vs "run
on top of". I've used Windows, OSX, and Linux, and I don't understand what
he's getting at. Software runs "on top of" Linux just as much as it does on
top of OSX and Windows.

------
3131s
[https://www.youtube.com/watch?v=SQ8OXf7o6UA](https://www.youtube.com/watch?v=SQ8OXf7o6UA)

~~~
zhte415
Thanks for the direct link. The questions started at around 20 minutes which
were valuable for the quality of the talk.

------
karmakaze
The way I see this going:

    
    
      1. Android is the popular mobile planform on Linux
      2. Fuchsia will be the popular desktop platform on Linux
    

Personally I would like to see other prominent options to both of these. We
will likely end up in a situation like (1) for desktop as well if we wait
until there is a large user base of (2) then decide that we need something
less centrally controlled.

~~~
snazz
Fuchsia uses its own kernel called Zircon (previously Magenta).

------
matis140
Not sure I entirely get what the problem is. I am happy with my distributions
NOT including stuff I don't want. I develop on Linux and maintain servers. I
do not want anything unnecessary on those machines by default because it makes
some developers life easier because he doesn't need to read the doc or search
a nebulous error message to get dependencies anymore?

------
fooker
Reads like a rant.

Linux software is backwards compatible if packaged for that purpose.

~~~
innocentoldguy
Yeah, it does read like a rant, but I think the suggestions are valuable. I've
been using Linux since the first release of Slackware back in 1994, I believe.
For a number of years, I developed desktop applications for Linux for some of
the companies I worked at, but it was always a pain to support multiple
distros and multiple versions of the same distro. I got tired of the effort
after a while and moved to doing web-only programming. Then, in 2010, I gave
up on Linux as a desktop environment altogether, simply because the user
experience was so much better on macOS (OS X at the time).

I think having a standard that all distros adhered to that provided a common,
universal baseline that developers could depend upon would go a long way
toward increasing developer productivity, interest, and desktop usability.

~~~
fooker
We have a reasonable standard, Xorg.

Everything else you can package along with your application as a library.
Steam does this farely well and manages to work on every distro I have tried,
even when they officially support(iirc) just Ubuntu.

~~~
MiyamotoAkira
As a user with a HiDPI laptop that needs to connect to non-HiDPI external
monitors, Xorg is not reasonable. macOS is way ahead.

~~~
fooker
When is the last time you have tried this?

I use KDE with Arch Linux on a 2015 retina mbp and often give talks on
projectors that are 800x600. Everything works.

