8 ms·
One Frickin' User Interface for Linux (2003)
- svalorzen 12y agoIf I didn't have a choice, I'd have probably abandoned the Linux ship long ago, frustrated with Unity and GNOME 3. Instead, I had one, and I am sincerely happy of that. This article makes it seem like people developing GUIs are at war just because, rather than they stick on (and work on) projects because they like them and want them. If you want something you should make it, right? In addition, it's not like this is a huge problem, given that most people are going to abandon desktops soon anyway.
- diltonm 12y ago>> In addition, it's not like this is a huge problem, given that most people are going to abandon desktops soon anyway. I don't see that happening at all really. The desktop is a theme that fits very well with a lot of computing needs. I don't see that ever changing.
- spirit1988 12y agoXFCE for the win. I don't agree with this article. Have alternatives is good.
- Touche 12y agoThese types of posts are super silly. What he's proposing is literally impossible given free licenses. You cannot stop someone from forking your project and you cannot stop users from using the forks. All discussion of how nice it would be if there were no forks is irrelevant.
- zelos 12y agoIt's called Android.
- diltonm 12y agoIt's ironic that Android isn't on the desktop, given how much greater access they would have to expand their brand. If they made a single touch/click that pulls the top menu _all_ the way down, then it would be easier to use on the phone and on the desktop.
- valleyer 12y ago> The core API for both Windows and Macintosh is procedural C language. > The core API has to be a C language binding. > A disadvantage is that the core API is in Objective C which is unfamiliar to most developers, but a straight C API could be generated, as Apple have demonstrated with MacOS X. The core API for the OS X UI is definitely not in C. There is only an Objective-C API, and it is not a shim over anything. (It uses the Quartz windowing system, but that does not provide things like button widgets, etc.) There is no C equivalent of NSView, for example.
- GuiA 12y ago> There is no C equivalent of NSView, for example objc_msgSend(objc_getClass("NSView"), sel_registerName("alloc")) ... :)
- valleyer 12y agoHaha, ok sure. :)
- pjmlp 12y agoSame thing on Windows. Since Windows XP many new APIs are exposed only via COM interfaces. Only masochists use COM from C.
- deleted 12y ago[deleted]
- JelteF 12y agoWhat the author somehow doesn't get is that you shouldn't see Linux as a whole. You should look at different distributions like you look at Windows vs OSX. Different distributions are totally different to end users, although they share a lot of the core system utilities. Ubuntu or Linux Mint could be picked by a large corporation and everybody in that corporation would have the exact same interface. Normal people don't choose Linux, they choose a distribution. This way, the normal people have the hard choices made for them and the crazy hackers like myself can do it all themselves on their Gentoo machine.
- deleted 12y ago[deleted]
- reidrac 12y agoI don't agree. Desktops matter. I use the same XFCE version in Ubuntu and Fedora, and they look/behave the same. You need to get to install software to find differences. I guess Unity is only available in Ubuntu, but that's just because not enough people want to use it in other distros. Just one anecdote: my sister used to run FreeBSD in her computer and she always thought/referred to it as Linux. She was using Gnome 2, and it was indeed the same experience (not completely true, compiled packages were faster, kind of Gentoo result).
- JelteF 12y agoOf course Desktop environments matter, that's why there are so many of them. I would be able to use Ubuntu almost like my own machine if I would install my window manger and utilities on it. What I meant however is that the defaults of a normal user friendly distro are good enough for those users. There is no need for them to tweak stuff because their LibreOffice and Chrome/Firefox just work with those defaults. The choices are only there if you look for them and at that point you are not a normal user any more.
- namanbharadwaj 12y agoHaving one UI would be the death of Linux. I would guess that the vast majority of Linux users today (including myself) use Linux because of choice (i.e. I use i3, and I can't live without it), and removing that choice would essentially be abandoning those users.
- noobermin 12y agoThis issue can be helped if we stop referring to low level parts as an "OS" like Linux or even GNU tools but refer to individual distros as OS'es, like Ubuntu or ElementaryOS, etc. This at least creates the impression of unification under one banner, which I think is what the article is asking for.
- oelmekki 12y agoAnd the missing introductory question is : "why should linux aims on world domination ?".
- RadioactiveMan 12y agoI too wonder why, as a linux user, I should care how many other people use the system. It seems to me that we have a really good community going and if more people join in, good for them, but Linux isn't in any danger of fading into obscurity at this time.
- nhaehnle 12y agoYou should care because a certain critical mass is needed to have a decent choice of properly supported hardware and software. There's no immediate need for worry on that front today, since we are well above this critical mass. However, the original article was written in 2003, more than 10 years ago, when things looked rather different.
- clarry 12y ago> You should care because a certain critical mass is needed to have a decent choice of properly supported hardware and software Except that if they achieve this by hoisting "one true UI" and one true whatever on you, you might find yourself having less and less choice...
- rtpg 12y agoMaybe for the newest hardware things are fine and dandy, but even for a laptop I bought 2 years ago, I have some pretty basic linux driver issues (mainly graphics cards). Battery management issues as well. If 50% of the population were using linux this wouldn't happen
- iopq 12y agoSo I can uninstall Windows.
- SwellJoe 12y agoThe desktop is no longer the battle that matters (more mobile devices are in use today than desktops and laptops, and the gap is widening). Linux has won the mobile market...and I guess one could argue it did so with one frickin' user interface (Android, though that's somewhat fragmented by the often-horrible, always-stupid, vendor customizations, like HTC Sense). We will, I guess, get to see what happens when Firefox OS comes along. Then, again it's so very different from Android (and Android is so far from a traditional Linux distro), that I don't know if the OFUI theory will really be tested in that case, since there are so many other variables. Generally, the "OFUI" idea is good as long as it's the OFUI that I like. I happen to really like Gnome 3, so I'm fine with it being the One True UI of my preferred Linux distro (Fedora). If I hated Gnome 3 (and I understand why people do...it had a rough and very buggy and very restrictive breaking in period that lasted a lot longer than it should have), I'd be pissed off at the suggestion that KDE (or LXDE or XFCE or whatever) should be removed completely. Anyway, I don't find myself agonizing over how Linux (or any open system, as that's what I really care about; it wouldn't need to be Linux for me to be happy, as long as it's Open Source) can win the desktop anymore. Partly because open is winning on mobile (at least, in terms of the OS, though there are many dangerously proprietary parts of the mobile industry, including on Android devices), and that's an even bigger market. But, also partly because many of the reasons I needed Linux to win was because I wanted to use Linux for everything, and there needed to be a critical mass of users for hardware, software, etc. to be good on Linux. These days I rarely think about hardware, as it Just Works. And, I rarely worry about software, as there's tons of amazing stuff to choose from. Even games are pretty good on Linux, which is a relatively new change. So, I want more Linux more of the time. But, I don't know if it has to "win" for all of us Linux users to win.
- hiphopyo 12y agoI reckon Quantum OS, the Linux distro based on Google's Material Design guidelines, is trying to achieve something similar: - http://quantum-os.github.io http://quantum-os.github.io - http://google.com/design/spec/material-design/introduction.html http://google.com/design/spec/material-design/introduction.h... Personally I would like to see 1FUI as an intra-BSD desktop environment for all the BSD operating systems, most notably OpenBSD.
- diltonm 12y agoThe site reads in my mind like Andy Warhol on computer UI/UX design. I think Canonical has a clean design with Unity, just fix some simple things as default: 1) Menus should be per application to reduce user mouse movements. 2) All menus and buttons should have icons on again, these provide valuable visual cues and reduce eyestrain. 3) Return scrollbars to the normal ones seen on other desktops, remove the scrollbar overlays, they are confounding and confusing.
- sauere 12y agoWe HAVE a standard user interface. It consists of some sort of Taskbar, some sort of Launcher/Startbutton and some application windows. KDE, GNOME2, XFCE, Windows 95 up to Windows 7 all use this. OSX to some degree. It is all the same. Am i asking to much if i belive every (non-technical) user should be able to wrap their head around this and get comfortable with this within a few weeks?
- feld 12y agoThe user isn't the problem it's that fact that they all work differently. There's no unified API for launcher/startbutton, or task tray, etc etc.
- mkr-hn 12y agoIsn't it great? I tried getting used to the new Ubuntu way of doing things, which I've heard is based on the Apple way of doing things. I didn't care for it.
- diltonm 12y agoThis irks me about Unity. I have to run several gsettings commands after a new install to get rid of those dumb overlay scrollbars and to return the menu to the window that owns it. I leave the control buttons on the upper left, I kind of like them there but I can't stand overlay scrollbars and really dislike having to move the mouse all the way to the top just to work with the menu for an application which is why I do the gsettings thing. It's also what turns me off about the Mac, one menu at the top shared for the active app. Edit: I also run some gsettings commands to turn menu icons back on. Also, you can return menus to the owning application in the Unity UI, right-click the Desktop, Change Desktop Background, select Behavior tab and it's there.
- tehwalrus 12y agoUnity worked fantastically when it was called Ubuntu Netbook Remix, and it was run on an 800x600px display, as everything is maximised like a phone because there isn't any other space. I agree in basically every other context that it is annoying/useless, but for smallish laptop screens it's still not bad.
- sampo 12y ago"Gnome 2 is the 1FUI for Linux" "A major company needs to act as champion and enforcer of the 1FUI by bringing out a distribution that runs only Gnome apps." I think starting from 2004–2006, with Canonical and Ubuntu, Gnome 2 was indeed on a good path to become the dominating UI for Linux. But then in 2010–2011 Ubuntu and Gnome parted ways, and the leading position of Gnome 2 was split into Gnome 3 and Unity, with some refugees going to Cinnamon and Xfce. And KDE is still going strong, too.
- diltonm 12y agoCanonical really messed up there. I can understand the maverick attitude but not when it trumps common sense. Gnome 3 was a mistake too and that was a major mess on the part of the Gnome people.
- masida 12y agoI've been using GNOME 3 on Debian Jessie for about a year now on my main work machine and I have to say that I'm very happy with it. I switched to it after having used a XMonad desktop for about a year, I think that says a lot. What I like is the fact that everything just works (tm). Just as it used to be on Mac OS X. No need to fiddle with 10 volume control applets on your minimal tiling WM, none of them works well with PulseAudio. Same for the battery indicators, manually loading your desktop background, setxkbmap etcetera in your .xinitrc. You're basically forced to mix-and-match your whole desktop. GNOME 3 comes with batteries included. Everything works out-of-the-box. Yes, the eye candy is a bit too much, but I think the Activities menu is very useful and productive. I can just use my computer, like I did on Mac OS X before. But now I the Linux desktop also gives me much better performance, package management and stability. Only thing I miss on GNOME 3 is a XMonad's tiling system and keybindings. It's a shame they lost the ability to swap the window manager for your own.
- zanny 12y agoSo then the only remaining desktop is KDE, which is now the 5.0 series and is being adopted reasonably and is not breaking the user experience while improving what it cans. Does that mean it wins?
- digi_owl 12y agoNo Fucking Way. This kind of mentality is what is resulting in systemd being foisted down everyones throat. Multiple parts doing single tasks with loose couplings. That is what i came to Linux for. If i wanted some kind of "One True Way"-ism i would have stayed with Windows or bought a Mac.
- diltonm 12y agoFirst, I don't grok the vocal minority's vehement opposition to systemd. Second, loose couplings are great for those who want to tweak to their heart's content, people who know what they're doing. I used to tweak the heck out of Gnome 2. I grew tired of it and appreciate the simplicity and elegance of Unity and dislike the "we know what's best for you" attitude that Gnome 3 conveys to me. Unity just needs to have 3 sane defaults reverted that I've mentioned in other comments. Third, you can still tweak Linux to use whatever desktop you want. Back when I was on Windows I even hacked the registry to make the DOS command prompt my UI as a joke and it worked. Booted, no explorer running at all. Just the Windows XP kernel, few processes it started and DOS CLI that was it. It taught me that most of the stuff users interacted with on XP was actually started by and run by explorer which explained why the system grew so unstable when it crashed and I had to restart explorer.exe from the Task Manager by hitting Ctrl_Alt_Delete IIRC. Having a common UI/UX is great for a lot of people out there including those of us who know all about loose coupling and tweaking things but usually just want to do what we want to do without all of that tweaking. Except on those weird days on the week-end when we try new stuff out like a checking out how KDE is coming along. Still too complex for my tastes but it looks great!
- badsock 12y agoLoose coupling allows the "shiny thing of the week" folk to not wreak havoc on the "good engineering" folk. When DEs like Unity followed Microsoft down the disastrous blind alley of "desktops should act like tablets", that was OK because the loose coupling allowed by defined protocols like ICCCM meant that I could wait it out in XFCE. The fact that practically every distro has gone with systemd, and that the couplings are tight, means that I have to leave Linux entirely to wait out this disaster.
- bakhy 12y agoSome time ago I read something that seemed a much stronger case against the Year of the Desktop Linux - lack of binary compatibility. It is hard to develop commercial software for Linux, when it means building your software for every distribution and supporting all of them. Anyone buying a piece of software would probably have to stop upgrading their system if they want to keep using the software. Different desktops add to this pain, but not as much. Of course, Linux is not about buying software, so I guess not many people care. But the availability of a certain, professional piece of software (aka "killer app"?) is often what eliminates Linux as a choice for many people, in my experience. (That is, now that there are good graphics drivers available and you can watch bloody YouTube.) Ultimately, in a very ironic twist, this makes Linux most suitable for people who do not know anything about computers. I install them Ubuntu, they don't touch anything except updates, and everybody's happy.
- zokier 12y agoOf course there is a twist to the binary compatibility story. Namely Linux (the kernel) works very hard to maintain userspace binary compatibility. Afaik you should be able to run some random 20 year old executable as long as you got the right libraries or have it statically compiled. Also considering that X11 (the protocol) is backwards compatible for quite some time, I'd say that cross-distro binaries in Linux is definitiely achievable thing if the application developer puts the effort into it. What is missing most is documentation and tooling to support such efforts. In near-future I also see containers as a possible cross-distro packaging solution, but that also needs some tooling to make the process more pleasant. Also container-supporting kernels need to get more prevalent for containers to be truly a solution.
- bakhy 12y agoI did not know that, thank you. I guess the key is in the phrase "as long as you got the right libraries"? Kernel+X alone is not enough... There should be some simpler solution to this than deploying your app in a container, but I really don't know enough to even dare guess.
- 12y ago
- kylec 12y agoI suspect that the lack of 1FUI is also part of why high DPI support is lagging pretty badly on Linux. In some window managers/distros you can get something that sort of/mostly works for built-in stuff, but once you launch a third party application like Firefox it usually doesn't end well. I'm sure the Firefox devs would gladly support high DPI screens on Linux if there were a single standard way to do so. There isn't, though, and there probably won't be one anytime soon due to the fragmentation of the platform.
- Leszek 12y agoWell, high DPI support isn't something to rave about on Windows, although that may be for similar reasons (WinForms vs WPF vs whatever)
- mmphosis 12y agoWhat works is consistency between UIs. The QWERTY keyboard has won, for example. Having used the Mac for so long, I am trained to use my thumb for cut, copy, paste -- command X C V. Using my pinky finger in place of my thumb is a painful amount of gymnastics for me using ctrl X C V on Windows/Linux. At the end of the day I need to use Windows and Linux (and Mac.) Maybe I fiddle with keyboard setting files in Linux or install that old key swapper program that came with Win95, but the reality is I am going to have to use ctrl X C V, even if they conflict with the control key on the command line. It's like driving different cars. Most things are the same, but you get used to certain things even if they are somewhat awkward, and new interfaces are usually annoying. Driverless cars can solve this. And the same is true for user interfaces. The best UI is no UI at all.
- jsprogrammer 12y agoKeyboards are completely pluggable though. It's just a character/text interface into the system, so the physical layout can be anything you desire. For instance, I use this layout: https://www.kinesis-ergo.com/shop/images/1463/advantage-black.jpg https://www.kinesis-ergo.com/shop/images/1463/advantage-blac... Cut/Copy/Paste is the same CTRL+X/C/V combination that you are using, but the fingers I use are my thumb and one of the three fingers to its immediate left. With this particular keyboard, every key can be remapped on the hardware itself (no config files), and the physical keys can be removed and placed (almost) anywhere else on the board. For full disclosure though, the primary reason I use this keyboard is that it allows a much more natural separation between my hands (8-10 inches), which allows my shoulders to rest in a more natural position. It's not perfect, but definitely an improvement over the "cram it all into a tiny rectangle" approach that most other boards use.
- rikkus 12y agoYou can map caps lock to cmd on OS X and ctrl on Windows/Linux if you want to always have the key in the same place when you're using copy/paste etc. I find it's more comfortable than wherever ctrl is (though cmd is reasonably placed)
- brimstedt 12y agoI think having choice of desktop environment is a good thing. However, I do think he has some point on interoperability. Copy/paste for example, works differently in desktop apps vs terminals, etc. File selectors is another thing. I like the KDE one and the file selector is the reason I ditch gnome altogether, but best would be if KDE programs used gnome file dialog when running gnome, and if gtk programmes used KDE for dialogue of user ran KDE.
- yew 12y agoWhere did the idea of a "year of the Linux desktop" originally come from, anyway? I often see people joking about it or advocating it (Linus, even!), but I've never seen any sort of foundational essay or manifesto - does something like that exist?
- sparkie 12y agoIt was always a joke, and the joke is on people like the author of this post, who treat linux as a tribe rather than as a useful tool to get your operating system of choice to interact with your hardware of choice.
- Patrick_Devine 12y agoYou could argue that the OP's preferred choice, NeXTStep, did win, and the loser was Linux. I haven't used Linux on the desktop for years, but have recently been thinking about going back as Apple seems to be abandoning all of the things which got me to switch. Is it really so hard to make a stylish upgradable/serviceable laptop with a matte screen? That, and maintain the OpenSource packages that you (used to) ship like X11 and OpenSSL?
- likeclockwork 12y agoSure, as long as it's exactly what I prefer at the present time.
- kazinator 12y agoThe author has this backwards. If you want "one single whatever for everyone", you first need world domination. You need world domination because in order to have "one single whatever for everyone", you have to be able to control everyone in the world, so that you can prevent the situation that multiple creative people work independently on similar competing things.
- makecheck 12y agoI would start small; for instance, can you get every API to use the same foundation types (similar to Core Foundation on Mac OS X)? These kinds of changes would help programmers a lot and pave the way for more complex standards.