I have some thoughts on the future of on non-mobile devices and the role that can play.

1. It seems that all proprietary software companies are de-prioritising their desktop OSes, in terms of focus and resources. Microsoft is doing weird tablet hybridisation and Apple is just porting iOS junk back from the iPad.

This creates a vacuum, as there is no modern desktop UI. Nothing's been done since roughly OS X. It's been 18 years. More than my whole adult life.

2. There will be very little financial incentive to fill this vacuum. Desktop OS:es only sell to the enterprise, which has different requirements, and Microsoft has that market cornered anyway.

No-one who is making software purely for money would be able to do this. Well, we, the FLOSS community, aren't, and so we can.

3. In order to do this, we need to experiment. A lot. And most of these experiments will probably fail.

For that to happen, the cost of development in terms of time and cognitive load must go down. Much like Rust seems to have enabled a wave of new command-line tools that are faster and much less boring than the traditional Unix tools. Making a GUI app must be roughly as complicated as making a CLI app.

4. This requires languages AND frameworks. The languages need to remove the incidental complexity in dealing with the concurrent situation that is a modern UX app. The frameworks need to encapsulate common patterns and remove boilerplate.

The languages are mostly there, I would argue, and the patterns are somewhat implemented (functional reactive programming, Excel, etc), but the frameworks are not just a little behind.

5. We also need to train FLOSS people in design AND recruit design-oriented people who may or may not code. This might also entail developing our tools for communication and infrastructure to also capture common workflows in design. I don't know, I'm not a designer.

@albin Agreed. We do experiment a bit, i.e. GNOME 3, but then that generates a lot of heated discussions etc.

I think we have fairly decent desktop UIs now. They should keep evolving for sure, but what we should focus most of our energy on is a Mac like developer experience for desktop aps, i.e. developing an unified set of APIs with lots of complex functionality prepared as part of a SDK for developers to tap into. On Mac, there's AppKit, which is why all the independent desktop apps are Mac.

@MatejLach I have tried app development on the Mac and found it unbearable, but I agree, sort of. It’s a trade-off between exploring new things and improving the ones we have, but I don’t think they are in fundamental conflict.

@albin Agreed. I tried it too and didn't like it, but that's mostly because there's a lot of legacy stuff back from NEXTStep days, (a lot of APIs are even still named NS), which is not idiomatically integrated with Swift as ObjC doesn't really fit that model. But that wooudn't really be a problem with Linux if said frameworks were build from scratch. The point is, bellow the cruft, Mac has the most complete set of APIs to tap into for desktop dev, (in terms of functionality, not elegance of use)

@albin The reason why the likes of Sketch, Scrivener etc. are on the Mac is because of all that ready-made functionality you can tap into, which there's no real equivalent on #Linux. #KDE's trying it a bit with their split into frameworks, but that's largely tied to C++ because of Qt a bit too strongly and also tends to be specific to the KDE ecosystem.

If you look at all the functionality here, developer.apple.com/documentat - Linux does have most of it, but not nicely documented or unified.

image/svg+xml Follow

@MatejLach I’m looking for things like even just a widget gallery online and how to do very common patterns (a list with things populated from whatever standard data store you have).

I think C and C++ are both too weak and too verbose for GUI programming. Neither have language constructs for dealing with concurrent programming, and extensions are often very clunky. Vala might work, I don’t know.

Sign in to participate in the conversation
Scholar Social

NOTICE: Registration on scholar.social is open to anyone who is willing to abide by our Community Standards. Email scholar dot social at protonmail dot com if you want an invite!

Federated microblogging for academics

Scholar Social is a microblogging platform for researchers, grad students, librarians, archivists, undergrads, academically inclined high schoolers, educators of all levels, journal editors, research assistants, professors, administrators—anyone involved in academia who is willing to engage with others respectfully.

We strive to be a safe space for queer people and other minorities in academia, recognizing that there can only be academic freedom where the existence and validity of interlocutors' identities is taken as axiomatic.

"An academic microblog that you can be proud to put on the last slide of a presentation at a conference"

"Official" monthly journal club!

(Participation is, of course, optional)

Scholar Social features a monthly "official" journal club, in which we try to read and comment on a paper of interest.

Any user of Scholar Social can suggest an article by sending the DOI by direct message to @socrates@scholar.social and one will be chosen by random lottery on the last day of the month. We ask that you only submit articles that are from *outside* your own field of study to try to ensure that the papers we read are accessible and interesting to non-experts.

Read more ...