1. 4

    Questions about the advertised library that are not answered by this article include:

    • Why does it make no effort whatever to approximate GTK UI controls, or even respect the user’s choice of UI font?
    • Does it support standard X11/Wayland IMEs? Screenreaders? Accelerators? (Configurable accelerators?)
    • Does it correctly handle other settings inherited from X11, Wayland, environment variables, and GTK (e.g., font DPI, screen doubling/tripling mode, GTK’s dark-mode setting, and no-animation setting)?
    • Does it correctly implement the freedesktop.org standard mechanisms for tray icons, notifications, sounds, &c.?
    • Does it use HarfBuzz? If not, what text shaping capabilities does it have? Does it flip the UI layout automatically when using RTL and columnar scripts?
    • Assuming it doesn’t use fontconfig, does it handle emoji and font fallbacks correctly?
    • How badly does it break when used on X11/Wayland environments other than GNOME?
    • Which hardware-accelerated rendering APIs does it support, and does it use the system’s own mesa?
    1. 4

      I think the usual flags (spam) are a good first step.

      1. 3

        I concur. They’re pretty easily noticed and attract spam flags quite readily at the moment.

        1. 1

          This especially true if it is caught early, based on the patterns I have seen.

      1. 3

        I really like the thrust of this idea, but I’m virtually certain this grid is an abuse of the <aside> tag. Surely there’s a way to achieve the same thing with semantically correct HTML?

        1. 6

          Also:

          • acronym is deprecated.

          • your index.html lacks its opening html tag.

          • <h3>Ordered lists</h3> should be an h4.

          • <label>Number:</label> should be an h4, and the subsequent input elements should be labelled:

            <h4>Number</h4>
            <label style="display:block"> <!-- ideally avoid <br/> -->
              <input type="radio" name="radioSet" value="uno"/>
              Uno
            </label>
            <label> ...
            
          1. 4

            You must be fun at code reviews.

            Just kidding, I actually admire people which a keen eye for detail. Carefully examining other’s people code can be as helpful if done with kindness as it can be bad if done condescendingly or arrogantly, and you didn’t really do it in either of the later bad ways =)

            1. 3

              Thanks! I will fix that.

            2. 1

              The project is build around the premise of default CSS starter kit. Instead of using CSS reset you use something like this to set the default style. You will probably need classes to make more complex grid. The grid logic is taken from: https://github.com/vladocar/infinity-css-grid .

            1. 1

              Very nice, though it seems my browser (Chromium 81.0.4044.129) ignores scroll-behavior.

              1. 2

                Interesting. I tested it with Brave (also based on Chromium) and it worked.

              1. 4

                Good article! For clarity, the use of :scope for Leiningen works like this:

                [org.clojure/clojure "1.10.1" :scope "provided"]
                
                1. 19

                  GTK is not the native GUI framework used on Linux, but the toolkit used by GNOME and several other GUI systems for Unix-like operating systems, which almost all have no native GUI toolkit. This distinction is not some childish GNU/Nitpick: It’s a further extension of the nightmare described. Mixing applications that use one or the other of these toolkits is inevitable. There are subtle-to-crippling differences in key combinations, fonts (selection, antialiasing, etc.), icon styles, cursor size, localization, rendering resolution, and on and on. This happens even when one of GTK and Qt is configured to emulate the other as exactly as possible. It does, however, make it easier to accept problems coming from actual cross-platform applications – Chromium, IntelliJ – that (rightly) have no idea what ‘A Linux GUI’ looks like: Everything already looks wrong, so Google’s home-grown UI toolkit can’t make it worse.

                  From a Linux user’s perspective, this is the sad state of GUI frameworks in general: All of our frameworks are natively cross-platform in all the wrong ways.

                  1. 12

                    This is probably why Gnome has been seeming themselves as more a part of a platform of their own, if not an operating system entirely. Controversial or not… I think they might be in the right, and you’re on the money why.

                    1. 12

                      There’s a similar argument to be made for systemd: cohesion matters, especially for desktop computing. Actually, platforms matter way more for adoption and growth of almost any software ecosystem than I think people realize. For example, take this rant about why AWS continues to beat out Google Cloud after years of trying to catch up: https://gist.github.com/chitchcock/1281611

                      1. 19

                        systemd: cohesion matters

                        One of the things I really like about systemd that people forget is that is unified all the little disparate nexuses (nexii?) in Unix. fstab, crontab, inittab, inetd.conf, etc all have different syntax, poor expressiveness for things like quotas, isolation, dependency graph, etc, and often involve ugly syntax or worse, shell scripts. systemd makes these concerns all one unified thing - you can have a service that depends on both a mountpoint and a socket, for instance.

                        1. 6

                          Right! It’s one of those things that aren’t nice until you take the time to learn it, and then you don’t really want to go back or at least that’s the case for me. I’m absolutely not going to say systemd is perfect, it’s not, and I agree with the people that say it’s doing way too much, to an extent. It’s overkill for a lot of systems.

                    2. 3

                      As a long time Linux user I don’t see this as a big problem. Having choice is part of what makes Linux systems so flexible.

                      People who want a consistent interface across applications can use GNOME or KDE.

                      1. 7

                        Maing GUI apps that look non-native has been long fashionable on Windows, and now they have their GTK vs Qt issue in form of Metro vs “normal”.

                        1. 7

                          I don’t really trust the “consistency” argument for historical reasons.

                          Back when I was a huge OS X fanboy (in the age of 10.3, 10.4 or so) the fact that it was “consistent” and “more polished” was all the rage on all the forums. Yet if you opened Finder, iTunes and Pages you had three completely different themes.

                          We were rationalizing it (Apple’s HGI includes excellent and consistent guidelines about which one to use for each specific purpose yadda yadda) but truth is everyone just did their own thing. Not to mention the myriad tiny quirks that went beyond the theme. It was about as consistent as Windows 10 is these days, at best. But it had a lot of street cred in the designer community so everyone sold it to you as the apex of consistent design.

                          Nowadays every time I hear the “it’s not consistent” card brought up it makes me shudder. The ghost of usenet postings past, I guess.

                          I don’t use Gnome enough to know if it has all these tiny quirks, too. Maybe it doesn’t have them – I imagine it doesn’t. For me, it’s hardly a big gain. To paraphrase one of my teachers, there’s a lot of Zen in the simplicity of a blank sheet of paper but if you turn that in you’re gonna get an F.

                          1. 4

                            I never used OS X much so I don’t know how it compares, but one of annoying the inconsistencies in Linux is that stuff like “Save file” dialogs are all different, because they use different toolkits. Bookmarked a directory in a Qt app? Better bookmark it again in that GTK app!

                            The last Windows version I used is 7, but there those kind of things were a lot more consistent, which I think is a boon.

                            1. 4

                              Back when I was a huge OS X fanboy (in the age of 10.3, 10.4 or so) the fact that it was “consistent” and “more polished” was all the rage on all the forums. Yet if you opened Finder, iTunes and Pages you had three completely different themes.

                              Honestly, I think X was the beginning of the decline, but we hadn’t realized it yet. Comparing X to 9 reveals that 9 is a far more consistent and usable UX than X is. X had to reconcile not only the NeXT (dock for instance) and Mac UIs together, but also make concessions to Windows switchers (like single-window applications), while adding new metaphors of its own (drawers, sheets). As a result, X feels really muddled.

                              Also downplayed was Apple’s increasing paternalism and desire to be a consumer electronics company. It was there all along since NeXT took them over inside-out.

                              1. 1

                                Consistency-wise maybe it was but, IMHO, that just says more about how overrated consistency is. OS X was better that OS 9 by any measure. It was inconsistent, and probably worse than NeXT in terms of UI (I may be subjective here because I loved NeXT…), but it allowed people to do a bunch of important things really well, and that’s why it was a resounding success. (As “resounding” as 5% or 10% of the market share can be, or whatever it had back then, but I guess there’s a discussion to be had about the hardware there…)

                          2. 2

                            You seem to be writing this from the perspective of it being a Linux problem but windows and mac have a long history of popular applications using non-native bespoke UI toolkits.

                            At least on Linux, most open source software tries for some kind of cohesiveness with the rest of the system instead of just doing whatever looks cool at the moment.

                            1. 2

                              Simpler GUIs can be constructed using libyui to offer 3 GUIs for your app: GTK3, Qt5, and ncurses. This helps appeal to end-users with different toolkit loyalties (KDE/LXQt/Lumina users often dislike GTK apps and vice versa for GNOME/Cinnamon/MATE/LXDE users; people like me with minimal setups prefer TUIs). dnfdragora (basically Synaptic for DNF) is built on libyui.

                            1. 1

                              You don’t need to use Qt with C++; the Python bindings are quite good.

                              GTK is the native GUI framework used on Linux. According to their website, they claim that the framework is cross platform although apart from Gimp, I haven’t seen many notable applications written in it.

                              Both Firefox and Chrome use GTK, which seem reasonable notable applications?

                              I have some good experiences using Python’s tkinter for developing cross-platform GUIs btw, although it’s quite minimal compared to, say, Qt, and doesn’t come with a RAD, I found it works quite well even for more complex applications, has a native look on Windows, and the performance tends to be reasonable.

                              1. 5

                                They only use certain elements of GTK on Linux; the cross-platform parts of their UIs are built into them.

                                1. 2

                                  Oh okay, I thought it was all GTK but guess not 😅

                                  1. 2

                                    Yeah, Firefox was always XUL (well, may just be web stuff rendered by Gecko now) but rendered with native-looking widgets.

                              1. 2

                                What do you need the information for?

                                I think per page logic is ok if you are asking one question per page, but your service better take less than 100ms to get the next question, assuming your customer’s worst internet connection

                                1. 1

                                  The service needs the information to do most of its job. For example, people wanting to use the service will need to supply different types of information (to comply with anti-money-laundering & -terrorism-financing regulations and other statutory requirements, and to protect the service against fraud) depending on where they live.

                                  On latency we are agreed. The 100 ms figure is for the time to first byte?

                                1. -4

                                  Feature request: Flag: still off-topic

                                  1. 8

                                    I think it’s on-topic, and tagged correctly (it’s about game development, and some financial considerations/trade-offs associated with it). As someone who doesn’t develop games but is an avid gamer, this post informed me of some trade-offs I hadn’t considered.. What makes you think it is not?

                                    1. 8

                                      I thought it was a good breakdown of the economics of making a game. That said, I see your point about it maybe being a better fit over at Barnacles.

                                      1. 12

                                        If it had been posted over at barnacles I wouldn’t have read it ;). It is certainly something I found interesting to read relating to indie game development from one of the masters.

                                        1. 4

                                          I think all of the two dozen active barnacles users would love this post

                                          1. 3

                                            Thanks for posting this. I found it very interesting, and I’ve never heard of Barnacles.

                                            Haters gonna hate.

                                          2. 13

                                            It’s a follow-up to an article that got 17 up, 3 down. Looks like it might not be off-topic so much as sniped by the now-2 folks (down by one) working quickly to prevent it from reaching the larger audience that might like it. You were successful this time. ;)

                                            1. -1

                                              You’re welcome.

                                            2. 9

                                              Why are you thinking this is off topic?

                                            1. 5

                                              TIL Joe Armstrong has a lobste.rs account that he uses to repost from beyond the grave.

                                              1. 7

                                                clicked the wrong button, muscle memory as I’m used to submitting my own work. fixed.

                                                1. 1

                                                  “muscle memory as I’m used to submitting my own work”

                                                  That’s the best reason I’ve ever read for this mistake. I always look forward to your articles. :)

                                                2. 1

                                                  Brings a whole new meaning to “necroposting”.

                                                  (I’m so sorry.)

                                                1. 3

                                                  (And if you haven’t finished your holiday shopping, you might want to add a Fire TV to your list.)

                                                  Someone please tell me they at least got paid for this one…

                                                  1. 8

                                                    I just thought about this for 30 seconds. Somebody sends me an email. Later they demand I delete it.

                                                    First off, I store email in SQLite database. I have a “trash” function, but really deleting something requires some manual intervention and query writing. I suppose in a regulatory environment I’d automate that.

                                                    I also back things up with tarsnap. There’s no way to delete one file out of a backed up archive. I’d have to restore all relevant archives, delete the bad file, then back them all up again. I think I’d walk away at this point, too.

                                                    1. 7

                                                      For your emails it depends whether it is a private or business email, if it’s a business email you can usually classify it as necessary in case of a tax audit since you’ll need to show them to prove you had business with them. Anything not falling into the “required for tax audit” category should be deleted, yes.

                                                      For backups, they are out of scope for the GDPR if it’s infeasible or impossible to delete individual records or if you have, as above, legal obligation to keep them atleast in the backups.

                                                      In practise it should be sufficient to keep track of customers who deleted their data and in case of a recovery, re-delete the records upon restore. (Covered in Art17 §2 and §3 b, d and e)

                                                      1. 3

                                                        The situation you describe was covered by 1995’s Data Protection Directive.

                                                        1. 1

                                                          The right to be forgotten isn’t new?

                                                          1. 2

                                                            You have the right to require the removal of data about you, except in certain circumstances in certain jurisdictions.

                                                        2. 1

                                                          Also, information may remain in unallocated sectors on disk and swapped memory pages.

                                                        1. 26

                                                          Another item onto the list of stupid, self-sabotaging ideas from Mozilla.

                                                          • Pocket
                                                          • Cliqz
                                                          • Looking Glass
                                                          • (Anything else I missed?)

                                                          That said, I’m still a Firefox user, because after all, I still trust the Mozilla Foundation and Community more than the makers of the other browser vendors.

                                                          1. 11

                                                            Mozilla has it’s missteps, on the other hand, they are still better than the other Browser Vendors out there and I haven’t seen a viable Firefox Fork out there that works for me. Plus it seems the Looking Glass addon was inert unless specifically enabled by the user, so I don’t see the harm tbh.

                                                            “Atleast [they are] the prettiest pile of shit.” ~ Some quote I heard somewhere

                                                            1. 3

                                                              I would add Mozilla Persona to this list, which was a great idea, but was mismanaged and shut down by Mozilla before it could do anything good.

                                                              I pretty much lost my faith in Mozilla having any idea what it is doing at that point.

                                                              1. 5

                                                                Original Pocket introduction was mishandled, but since Mozilla owns and operates it now, integration with Firefox makes sense.

                                                                1. 7

                                                                  is it open source now?

                                                                  1. 6

                                                                    My understanding is, it’s not yet. It’s being worked on. I have no idea what kind of work it takes, but the intention is that it will be fully open sourced.

                                                                2. 4

                                                                  You missed ‘Quantum.’ (The one where they broke their extension API for the sake of alleged performance).

                                                                  1. 45

                                                                    That one I actually like; the performance is much better, and the memory leaks much fewer. Pre-quantum I was on the verge of switching to Chrome because of the performance gap and leaks.

                                                                    1. 11

                                                                      I agree. The browser engine is noticeably better - if only the software around it were also on the same level. Some lightweight browser like surf or midori should adopt it, instead of WebKit.

                                                                      1. 1

                                                                        WebKit is easy to adopt because WebKitGTK and QtWebKit (or whatever it’s called) are well supported and easy to use. And Chromium has CEF. (IIRC Servo is also implementing CEF.)

                                                                        I don’t think current Gecko is easily embeddable into whatever.

                                                                        Back in the day Camino on Mac OS was a Gecko browser with a custom Cocoa UI, but doing that today would be way too hard.

                                                                        1. 2

                                                                          I should clarify, I was talking about Servo. I don’t really thing there would be a point in using Gecko, since it will probably turn into a legacy project.

                                                                          1. 2

                                                                            It seems the other way to me? What they’re doing instead is slowly retrofitting pieces of Servo into Gecko piecemeal. (or at least, some kind of Rust equivalent to the C/C++/JS code being replaced) Servo would then be dead or explicitly turned into some staging ground for Gecko.

                                                                    2. 21

                                                                      I will go beyond alleging a performance improvement, I will attest to it. Surprisingly enough, the improvement includes Google properties such as Gmail and YouTube. They are both more responsive in Firefox now than Chromium or Chrome.
                                                                      On the extension side, I do not use a large number. Those which I do, however, still function.

                                                                      I freely admit that the plural of anecdote is not “data”, but I would feel remiss not to share how impressed I am with Quantum. Pocket has always annoyed me, so I certainly do not see Mozilla’s actions as unimpeachable and am only giving them credit for Quantum because I feel they deserve it.

                                                                      1. 8

                                                                        Based on this, Quantum was a balanced update where the team had do sacrifice the old extension API. Also, it’s not that they’ve removed extensions completely. (And no, I’m not talking about you Looking Glass)

                                                                      2. 8

                                                                        Quantum is great. uBlock Origin and uMatrix now work on Firefox for Android just as well as on desktop.

                                                                        1. 3

                                                                          ublock origin worked on firefox android before firefox quantum no ?

                                                                          1. 1

                                                                            IIRC it worked but the UI was somewhat different. Now uMatrix is also available, and both extensions have UI that looks practically identical to the desktop versions.

                                                                    1. 3

                                                                      My cognitive neuropsychologist friend (University of Kent, Vrije Universiteit Amsterdam, Otto-von-Guericke-Universität Magdeburg) reports:

                                                                      The assumption there in my experience is totally untrue — it’s more that every psychologist knows that you can’t display things for exactly the time we say, so we get it as close as we can and know that everyone knows what we are talking about in the paper. My department also specifically uses horrible experiment presentation software that everyone hates because they’ve spent ages looking at timing options and it provides a few milliseconds more in terms of accuracy than other software. Psychology forums are full of discussions related to tiny timing inconsistencies.

                                                                      1. 7

                                                                        A friend of mine is Québécois and lives in a French-speaking town on the border of English-speaking Ottawa. Using Google maps navigation is apparently a huge pain there, because the text-to-speech doesn’t know how to flip between languages mid-trip.

                                                                        1. 4

                                                                          It also cannot cope with Dutch street/place names when giving instruction in English. It really mangles things like Lage Rijndijk and Willem de Zwijgerlaan.

                                                                        1. 2

                                                                          I really like most of this article, but I’m concerned by a) the arbitrary five-second budget and b) the glossed-over vagueness of this model of the median user. Besides which, is it acceptable to ruin the user experience for half the audience? And as @wyager mentions, what the hell are you doing that takes five seconds?

                                                                          1. 1

                                                                            The description is non-free?

                                                                            1. 1

                                                                              Not freely redistributeable?

                                                                            1. 5

                                                                              Good on him for publicly crediting Silber for allowing Canonical to be sustainable without him.

                                                                              I made some miscalculations around Unity. I really thought industry would rally to the idea of having a free platform that was independent.

                                                                              I, um… wait what? If this is implying that the many existing alternatives to Unity are either not free or not independent, that seems extremely disrespectful.

                                                                              1. 8

                                                                                He’s comparing to Android and iOS here

                                                                                1. 3

                                                                                  I see; thanks. Probably would be clearer in context in the full interview.

                                                                                2. 6

                                                                                  It’s also not clear why he thinks Unity was independent, especially since it was canned when its corporate owner decided to ‘go in a different direction.’

                                                                                1. 6

                                                                                  Thanks for the transparency and also the hard work you and the other mods put in.

                                                                                  As an aside, why are some usernames in the user list set to green?

                                                                                  1. 9

                                                                                    They’re less than a week old.

                                                                                    1. 2

                                                                                      Those are recently invited users.

                                                                                      1. 2

                                                                                        They’re new.