
Consolidating the Linux Desktop App Story: An Idea - jonobacon
http://www.jonobacon.com/2017/07/13/consolidating-linux-desktop-app-story-idea/
======
nisa
Unpopular opinion: Ditch everything GNOME, glib, vala, GTK and focus on making
KDE, Qt, QML first class software. QML is powerful and is quite fast and can
at least be made fast. KDE needs UI and design polish but the foundations are
IMHO more sane than GNOME ever was. Move the good stuff from GNOME over to
KDE. E.g. kio-slaves and gvfs should be one stable solid pluggable piece of
software. And document that well - Good tools are already there - Qt is
documented, QtCreator is usable, KDevelop is fine software - merge the efforts
to make that platform fast and sane and secure. Also please stop that CADT
stuff[1]. Won't happen, but one can dream.

1:
[http://nullrefer.com/?www.jwz.org/doc/cadt.html](http://nullrefer.com/?www.jwz.org/doc/cadt.html)

Edit: jwz doesn't like hacker news. removed referer.

~~~
dtzWill
FWIW jwz redirects to something unfortunate, here's the same page via
nullrefer.com which seems to do the trick:

[http://nullrefer.com/?www.jwz.org/doc/cadt.html](http://nullrefer.com/?www.jwz.org/doc/cadt.html)

and on archive.org:

[http://web.archive.org/web/20170702194030/https://www.jwz.or...](http://web.archive.org/web/20170702194030/https://www.jwz.org/doc/cadt.html)

~~~
nisa
Thank you! Didn't saw that.

------
swiley
I really don't understand the drive to make GNU/Linux a "consumer operating
system." The consumers don't care and are happy with absolutely awful
software. Shiny GUI toolkits that are a huge pain to develop for, and non-free
software gos against what the people who use GNU/Linux _now_ want. _That 's_
why ubuntu's unity stuff failed, because they chased after users who don't
care and alienated the only ones that might use their product.

~~~
mhall119
It's because Linux desktop users want to be able to use consumer software, and
the only way they're going to get it is if Linux becomes a consumer operating
system

~~~
bjpbakker
Linux desktop has mostly been about using free software IMO. If you don't care
about your freedom, why not run macOS?

Most vendors of non-free software do support macOS (or viable alternatives are
available). I strongly doubt many of them will even come to Linux. Because it
requires more standard configurations. Apple had to make its main FS case
insensitive before vendors like MS and Adobe were porting their software.

I like having my own choice in configuring my system. That amd freedom is why
I use Linux desktop.

~~~
wmf
A small nit here: the Mac has been case insensitive since 1984 and AFAIK Adobe
actually started on Mac.

But yeah, the main justification for an open-source power-user desktop OS is a
backup plan in case macOS dies, which isn't a very good business case.

------
marktangotango
I was rolling my eyes reading this and then hit this, which is the real value
of the article IMO:

> few Linux platforms (if any?) had taken a series whack at building a
> consumer grade app and developer experience. We tried, it was not
> successful, and instead of digging up the past I would rather ensure we can
> inform the future.

"What not to do, and how not to do it" are at least one valid take away from
that whole era.

~~~
revelation
The biggest takeaway from the era is that no one fucking bothers to write
software for 10 different distributions with 15 different ideas on how the
most trivial of things are to be accomplished.

And here is this guy wanting to build number 16. There is an xkcd on this.
This train has left the station.

~~~
drdaeman
Nah, almost all mainstream (and even most non-mainstream) distros are
basically equal. Seriously, maybe I'm wrong but I don't think that's an issue.

As long as your distro doesn't replace glibc for e.g. musl or bionic, and has
all the usual GNU (and X11, and DBus if you need that) userland, i.e. no odd
stuff - there is no much difference. Most of the time things just work.
Normally, the only time you'll have to "write software for some specific
distribution" is when the distribution is unusual in its ways, but you still
want to target it.

That is, unless you _need_ to target some specific library version that's
higher or lower than the usually available, incompatible with the usual
version, and you don't want to have a statically-linked release variant. E.g.
something that would work only with Qt5.2 but not with Qt5.6. Don't see why
not to just throw it all in a tarball and call it a release. Saw this done
many times, I just unpacked it, ran it - and it worked.

And that is if that's you who package your software. Usually, some user just
takes it further and becomes a maintainer (or a co-maintainer, or just a
volunteer who submits patches).

~~~
flukus
> That is, unless you need to target some specific library version that's
> higher or lower than the usually available, incompatible with the usual
> version, and you don't want to have a statically-linked release variant.
> E.g. something that would work only with Qt5.2 but not with Qt5.6. Don't see
> why not to just throw it all in a tarball and call it a release. Saw this
> done many times, I just unpacked it, ran it - and it worked.

In this hypothetical (I hope) example, you've just subjected your users to
unpatched vulnerabilities like this one: [https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2014-0190](https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2014-0190)

------
evv
Sorry, but I believe this effort is doomed to fail if you don’t provide
compatibility with the open web. It is the only online app distribution
environment that has really thrived, other than Apple’s and Google’s.

Of course you could do this easily with electron apps. Too much bloat? Fine-
go with a ReactNative/NativeScript approach with a JS VM controlling native
UI. Hate JS? Fine- compile to it from your language of choice. Refuse to use a
runtime? Fine- compile to webassembly. There is no excuse for not having
compatibility with the open web.

As a developer, I have no interest in building for Linux- I need to go where
the users are. But if I can develop a nice web app that can be deployed
natively to Linux and mobile platforms- sign me up!

~~~
iBelieve
The big problem with web apps as first-class citizens is UI inconsistency.
What I love about native desktop apps is that they should all follow well-
defined user interface guidelines and all use the same toolkit/theme. With web
apps, you don't get that - every web app uses its own fonts, its own styles,
its own UI structure and navigation.

~~~
wmf
But no major desktop app [1] follows the guidelines because they think
branding and novelty trumps consistency.

[1] Except apps written by the OS developer.

~~~
flukus
> [1] Except apps written by the OS developer.

I assume you mean apple? Because even the apps built into windows 10 are
completely inconsistent with one another or any platform standard.

------
digi_owl
The real elephant in the room is not a single platform, we already have that
(Linux+Gnu+X11).

What is missing is STABILITY. The kind of stability we see over at Windows
where win32 binaries from the 9x era can run on Windows 10.

The kind of stability one have achieved with the bedrock of Linux (and that
Torvalds gets ragged on for defending), but that the DE devs piss on every
time they make a new weekend project.

App stores are a distraction, single platform (more like distro monoculture,
it seems to me) is a distraction, And Gnome+Wayland is the last people you
want to entrust with anything related to stability (you can get Qt working on
things that get GTK screaming about missing dependencies).

------
gabrielcsapo
Correct me if I am wrong but wouldn't the best move forward just be supporting
and tuning [https://electron.atom.io](https://electron.atom.io) to make it
more performant and supported on linux? Yes it is a battery killer, but I can
see it being better if everyone put their tasks to making that a non issue.

edit: why the down votes? This is a platform agnostic framework. I understand
the performance is bad, but the one reason that linux doesn't have the same
applications as windows and OSX is the window manager. A lot of amazing apps
have been created using electron which has allowed people to even remotely
think about moving over.

~~~
michaelmrose
Bad for battery and ram. Fixing this is probably difficult to impossible. I
have 10 apps open imagine if they were all using 1-2GB of ram.

~~~
pcwalton
> Fixing this is probably difficult to impossible.

It is absolutely possible to make a browser engine-based shell that is more
efficient than Electron is. Electron has the wackiest setup imaginable,
mashing together Node and Chromium, with two versions of V8 to boot.

~~~
gabrielcsapo
That is what I am talking about. Who is making this happen!?

------
dcgudeman
I would like to see the main distros collaborate on/ invest resources in an
IDE for GNOME or w/e desktop environment they choose to standardize on. Seems
like there is one already but I don't know how actively it is being developed
([https://wiki.gnome.org/Apps/Builder](https://wiki.gnome.org/Apps/Builder)).

------
rjzzleep
I still think the whole Linux Desktop problem can be summarized in one
sentence:

There is a lack of a simple desktop app development environment.

Yes there is GTK and yes there QT. But regardless of how much people may hate
Xcode, it allowed people to create solid desktop applications in a fraction of
the time that was needed to do the same in either GTK or QT. It's better
documented, it's smoother, it's easier to structure your application in terms
of the framework rather than programming language.

The whole thing is a little like the Rails vs. Flask or Go argument. Yes Flask
is really cool, and in Go you can build really cool stuff and it's modular,
you select a muxer and stitch it together, it does more requests per second,
but if you just want to bash out a quick web application you're better off
picking the first option.

The app store is hard argument is so far down the line... If you look at all
the things Apple did before they pushed their app store it almost doesn't
matter.

~~~
dcgudeman
I agree. I commented earlier about how I think they should pool their
resources to create an Xcode for linux. Seems like one kind of already exists
([https://wiki.gnome.org/Apps/Builder](https://wiki.gnome.org/Apps/Builder))
but I don't how much is being invested in it. And honestly I don't really care
that much about the language or the UI framework so long as they just pick
one.

~~~
merlijn_s
With the flatpack integration, Builder really has the potential to become the
Xcode for Linux.

I hope that Ubuntu starts to support Builder. Ubuntu tried something similar
with qtcreator and the Ubuntu sdk, but that was a really bad experience. Let's
hope that the switch to Gnome also means that Ubuntu switch their efforts to
Builder.

~~~
rjzzleep
flatpack solves a deployment/distribution issue. distribution is irrelevant
when you have nothing to distribute.

~~~
merlijn_s
The biggest issue is the distribution.

One of the devs of the Minecraft Windows 10 edition said that it would be
trivial to port that to desktop Linux but they would have to set up their own
payment and distribution system, which just isn't worth it for that tiny
market.

Having packaging and distribution built into an IDE goes a great length to
solve that issue.

~~~
voltagex_
Except they could throw it on to Steam for Linux - it's a business decision
not to put it on there and let Valve take 30%.

------
tomc1985
It is foolish to pursue consumer space in this age. The muggles want mobile.

This is a wonderful opportunity for us original computer nerds... with the
mainstream leaving for their terrible mobile devices computers can finally go
back to being tools for power users. The appliance-like expectations of the
mainstream was the worst thing that ever happened to traditional computing.

~~~
SubiculumCode
In some ways, I COMPLETELY AGREE. UI 'cleanness' killing 'functionality' is so
late 2000's, please. Let's move on. I use my box professionally and need to
get shit done. I don't need bouncy. I don't need address bars that hide things
and make it non-copyable. Yes, date-modified is a useful sort. Don't hide it
like MS did. Yes terminals are awesome and should be front and center. Don't
hide them and pretend they are embarrassing and try to hide them under some
menu.

But in other ways I disagree. There are plenty of options for the power-user
to adapt their environment right now. How are we hurting? (Unless you are
corporate and they restrict you to some gimped UI.

