The article in question is a bit old, in terms of the computer world (last revised March 18, 2003), One Frickin’ User Interface for Linux though I still feel like responding to it nonetheless.
One Frickin’ User Interface for Linux
If Linux is to achieve world domination, it must have One Frickin’ User Interface (1FUI): a single user experience / interface behaviour and a single underlying UI toolkit API / widget set. World domination means putting Linux into corporations, schools, PDAs, and cell phones.
I am kinda assuming world domination here just implies a larger market share. If so I disagree with the above.
This will only happen with 1FUI, and if this upsets the nerds, too bad. History clearly shows that if a platform/system offers a choice of user interfaces, the potential users will choose a different system.
and:
History shows that on every previous occasion competing UI toolkits were on offer for a single operating system, none of them won.
Case 1: VisOn vs GEM vs Windows. Winner: Apple Macintosh.
Given the examples listed:
- Case 1: VisOn vs GEM vs Windows. Winner: Apple Macintosh
- Case 2: OpenLook vs Motif. Winner: Microsoft Windows
- Case 3: SunView vs OpenLook. Winner: Motif
This completely disregards that those were in all commercial settings. There were companies backing one or the other and the winner was either a company or a technology of a company. Motif was created by the Open Software Foundation (now the Open Group), which was founded by Apollo Computers, Digital Equipment Corporation, Groupe Bull, Hewlett-Packard, IBM, Nixdorf Computer, and Siemens AG. It was created in response to Sun’s collaboration with AT&T who were working on UNIX System V, release 4 (SysV). Note folks that the Open Software Foundation has little to nothing to do with the FSF.
So, there we have it. All those examples are competition between various companies. Free software is developed in a completely different way. Having KDE and GNOME is very important because of their differences. It brings about friendly competition, sometimes even rivalry between the two projects for those who are really into it. In the end it comes down to free software enthusiasts who come together and have a vision in regards to how something should work and collaborate freely in order to reach that vision. KDE and GNOME have defined many things that make up their vision differently (usability, the interface, the programming languages used, and so forth) yet they are both trying to create a rocking desktop environment.
That is the power of choice. If there really is a need for unified libraries, APIs and UIs then perhaps when that hole is really there and identified someone with the resources will jump for it. Redhat, Sun, Novell, Canonical - who knows who it might be - though I don’t see a direct need for these drastic unifications.
I doubt very much that one API, one widget set and one library will solve the problems or the primary problems we are having in the adoption of GNU/Linux in general. Much rather it’s Digital Rights Restrictions Management (DRM) or the adoption and recognition of open standards.
Note: The bulk of what I have in response I’ve just covered. What follows is a more specific response though I’ve stepped out and looked at a few other things as well in more detail. Might get boring.
Microsoft
There’s a tendency among Linux advocates to think of the Windows majority as mindless sheep, ebrainwashed or coerced by Microsoft into buying their software. Well, I know a fair number of Windows users and system purchasers, and they are not sheep. They are well aware of the dangers in being locked to a single vendor, but the benefits - of which a consistent user interface is one of the most important - outweigh the risks.
I know a fair number of Windows user also and a not a single one has remarked about the benefit of a consisent user interface. In fact out of those users I know, I would roughly estimate less than 20% know what a UI is and what the term implies in regard to this topic.
I would not call people mindless sheep, however Microsoft has created a new generation (arguably generations) of computer users who are ‘dumbed down’. The software comes bundled with every PC they purchase, they use the Microsoft Windows system as it is. There is no incentive to find out how something works, or to try to find an easier or alternate method of accomplishing a task, if there is one at all. There is no decent command line and a basic Windows install comes only with a limited number of programs as you ought to purchase those too leaving the user at the whim of Microsoft and other companies who’ve siezed their chance to make business from the average user who has little idea.
There is no sense of community nor a real connection between the creators and enthusiasts of the software and the actual end users the average user will just use their system and that is it. They will never consider contacting Microsoft about any possible bugs or design faults. They are not involved in the creation process of the software. At the end of this all the average user will not even consider the software given away for free a viable alternative. They believe everything must be done in the corporate setting and if is not it must be crap, after all, it’s been given away for free.
Microsoft does share a variety of similarities with sellers of addictive drugs.
- Sellers of such drugs have customers because they come back time and time again of their addictions. Microsoft creates Windows and bundles it with most new PCs purchased today - you barely have a choice. Then when you take the PC home and boot it you find that you might want an office suite or a graphics suite or some extra applications for variety of needs and wants you may have. Now, the corporate world tells you that you should go back to Microsoft or another company that provides software that runs on Windows. You must pay for this also. If you want an update, chances are you have to pay for this. You get almost nothing for free.
- Sellers of drugs do not especially care about their customers. Microsoft Windows has a multitude of outstanding security issues and bugs that have been located, identified and analysed as best people outside Microsoft without access to source code could though Microsoft is slow at acknowledging them and releasing fixes. Chances are if numerous fixes are released the consumer will again have the pay for them.
- Sellers of drugs do not guarantee anything with their wares. Unlike any other areas in the market that I am aware of there are no or very few other corporations that can sell you a product and not give you at least a decent legal guarantee that if something fails, if Microsoft is essentially responsible for damages and not have to pay for those damages. If you employ Microsoft Windows in a workplace and there is a software failure then Microsoft is not responsible for any damages caused by that failure, as I understand it from reading the Microsoft EULA for Windows XP. The only money Microsoft is willing to make to you incase Microsoft Windows misbehaves is the money your paid for get a copy of Windows, however you are required to pay for any related charges and fees (ie. shipping).
However unlike the sellers of addictive drugs who don’t necessarily care whether you use what you’ve purchased from them for uses other than what the drug was intended for, Microsoft does. You may for example not share files using your copy of Windows with any more than 5 other computers (excluding Remote Assistance and NetMeeting). The person who sold you your marijuana doesn’t care if you do or do not share it with two or ten other people. Furthermore Microsoft prohibits you from sharing, lending or leasing your computer to another person and definitely not for commercial reason.
I think is is plain to see that Microsoft does in way ‘coerce’ consumers to purchase their products.
Apple
User interface consistency was, and remains, the primary reason for the success of the Apple Macintosh.
Apple was successful with Macintosh because when you purchased a Mac and switched it on you got a pretty login screen and everything worked out of the box. There were no hardware issues as the hardware itself belonged to Apple. The system came with a decent amount of applications for home and office use and it was based off BSD and quite solid. No blue screens of death, no driver issues, a user had arguably most of the applications they needed and the graphics were a beaut.
UIs, APIs and libaries
First, let’s distinguish between choosing a UI and choosing an API. The UI is the user experience, look and feel, behaviour and appearance: what the users care about. The API is what the application programmers write to.
If that is true then the earlier mention that Windows has a consistent UI is rubbish. Today Windows XP’s icons are a mixture of the original Windows 95 icons and some new ones Microsoft did not seem to have the time to finish.
In the Windows and Macintosh worlds there is a core UI widget set and API. This core API remains stable over time, but the UI can be changed. NT 3.5 to 4 was a UI switch but not API, as was System 6 to System 7. (Yes, there were new additions to the API, but the old code ran with the new appearance.)
The core API for both Windows and Macintosh is procedural C language. Alternative APIs such as MFC or Cocoa are written on top of the core API, ensuring that the UI will still be exactly the same and that the program will automatically inherit any new UI behaviour. Regardless of whether you write Windows code in straight C to Win32 or with C++ and MFC, you always get a single consistent set of menus, buttons, and other widgets.
In Linux, each API has its own widgets and distinct UI. KDE menus aren’t quite the same as Gnome menus which aren’t quite the same as Lucid menus… From the outside, it is hilarious. From the inside, tragic. How can the open source community claim to be a superior development model with such a massively bloated and wasteful reinventing of wheels going on?
Linux must move to the successful Windows/Macintosh model if it is to achieve world domination: one library, one widget set, one API. This won’t interfere with your sovereign right to run your own window manager if you really, really, want to, just as you can rip out TCP/IP and run only AppleTalk if you want. You will have the source.
And we have the source, and we’re doing with it what we want to do with it, which is exercise the freedoms that the software gives us. I doubt very much that one API, one widget set and one library will solve the problems or the primary problems we are having in the adoption of GNU/Linux in general. Much rather it’s Digital Rights Restrictions Management (DRM) or the adoption and recognition of open standards.
So assuming that using one library, one API and widget is the right way to go…
The first step is to pick a UI. I have my own thoughts on this later, but frankly it doesn’t matter too much which one is chosen. There are times, and this is one of them, when any decision is better than none.
Vi v. Emacs all over again, but now with artists, GUI designers and coders.
The One Frickin’ User Interface isn’t essential for Linux to survive and prosper, only for Linux to achieve any kind of world domination. Without it I expect the future will look more or less like it does today. Linux will remain the operating system of choice for servers and computer science workstations. KDE and Gnome will continue their pointless competition. Cell phone and PDA manufacturers will choose Linux as the core OS and write their own proprietary and closed UI toolkits to run on top, although there is a good chance that they will find it easier to license PalmOS or CE instead. And Microsoft will retain their 90% or better share of the home and business PC market, while Linux advocates keep chanting “any year now.”
Yea, agreed; it’s not the most essential goal to work towards. With the completition of the GPL v3 and subsequent licensing of the Linux kernel and the big APIs, libraries and UIs used by GNOME, KDE, XFCE and so forth, I think we might be able to overcome many of the problems we currently have. I’ve also been hearing some pretty exciting news from a variety of free software developers hired by companies such as Nokia and Motorola who are working on using existing APIs and libaries such that of GNOME and KDE for their phones.
17 comments
I have to disagree on this comment. You have to remember once you take out the home hobbyist and the academia tinkerers, most people at home or in business buy a tool to do one or many jobs. They need to tool to accomplish a set of tasks. True they can learn to drive the tools better, but for most the outcome is the important thing. If the tool came in multiple flavours or sizes they would, if slightly educated buy the tool most useful to accomplish the aim of the tool.
They do not want to dissasemble the tool to find out what makes it tick, they just want to get the answer. For example a plumber does not pull apart his pipe cutter to see how he can improve it by building an alternate with more stuff than the first one, he gets on with the job.
This does not mean Microsoft, Open Source, Macintosh etc are wrong or right, they just provide different sets of pipe cutters that can ccomplish very similar jobs just in a slightly different way
“I know a fair number of Windows user also and a not a single one has remarked about the benefit of a consisent user interface.”
Making a point based on the behaviour of people you know is a bit dubious, but even assuming that’s true in general the purpose of a consistent user interface is IMO to make sure you *don’t* notice it. If you start noticing the UI, it’s because it’s getting in your way.
Some examples, apart from having all the widgets look the same, which is an important first start: having “OK” and “Cancel” in consistent places on dialogue boxes, so you don’t need to think about where to click; having consistent keyboard shortcuts (even simple ones, such as alt-f to get to the File menu), having consistent idioms (such as always *having* a File menu and always having it in the same place). These are all areas where free desktops tend to fall down, even within a single environment (though it’s getting bettter). That said there are plenty of areas where the Windows UI is inconsistent, and Microsoft doesn’t set a good example here because they keep changing the UI of their office products in order to make the upgrades worthwhile, which is why we get crap like buttons that only become 3D when you mouse over them. To be honest I think Apple has done a far better job with respect to consistence, and even they couldn’t resist adding new window types: in addition to Aqua, you now also get brushed metal, a slightly lighter, less-textured brushed metal, and the weird hybrid that iTunes uses.
My point is basically that getting a consistent UI is hard, unrewarding in a certain sense (you are basically trying to make your application *not* stand out) and you will be continually fighting with people who want to do cool things at the expense of consistency. It’s tempting to argue that KDE and GNOME feed off each other, but really the two projects represent a large amount of duplicated effort, and the desire to do something different is at the root of it.. There are lots of technical distinctions between the two — and for ages KDE was a lot better engineered, though I doubt that’s still true — but fundamentally there is nothing so majorly different that the two environments couldn’t merge, for an overall improvement in the consistency of the big applications. I seriously doubt this will ever happen, but it would be nice.
All this said, I agree with you that it’s not really important, in terms of Linux adoption, to get a consistent user interface. IMO people learn to work with the quirks of their favourite applications, so after a small learning period they just won’t notice the user interface unless it really gets in their way. However, a consistent UI is part of what makes using a Mac such a relaxing experience: I can start any application and immediately know a lot about how to use it without having to poke around: getting a good set of applications that people want to use on Linux will foster its adoption, but getting a consistent user interface will help to make using Linux GUI applications enjoyable.
Of the many MS-Windows users _I_ know, those that give a flying hoot about the user interface are all complaining about missing or degraded features in XP (I ain’t gunner sit through their wailing about Vicious^WVista’s lacks), the are NOT rejoicing in consistency or added utility.
The rest of them complain about viruses, spyware et al, which all seems to be a core concept for MS-Windows and to have stayed so for a very long time.
In summary, MS-Windows users generally don’t revel in any interface feature; rather, they quail at the prospect of a virus/XYZware/whatever (including just the fundemantal system as shipped) deleting or altering their work and “possessions” on the computer. And often without the slightest warning.
Leon,
You rant as usual…what does what you said have much to do with the topic?
In my post I strayed off one user interface article also and went on to talk about MS and Apple for a bit before convening back to the topic. I think Leon notes a variety of relevant issues that do relate to what I discussed in the actual entry.
That is in part my point. People are not interested in thinking about the software they use, whether there might perhaps be an alternative that could potentially allow them to acheive their job more efficiently or cut the IT costs.
The average white-collar worker learned how to use the software once and since then, and I think consequently even, there have not been and changes, even if that would have been for the good. This was in fact one of Microsoft’s marketing strategies. Teaching people how to use Windows and Microsoft Office early on means that later in life they won’t or would be reluctant to change.
Now that marketing strategy has become more unfair. Both the private and public school sectors use Microsoft Windows for their systems and further corporate products on those. Pimping the products of a company should not be permitted in the public education sector.
I support and use free software yet I do not touch the source code. Would you not agree with me that the plumber would be better off if he would be able to be in direct contact with the folks who designed and manufactured his or her pipe cutter offering advice concerning how he uses it for example. This would benefit the company, it’s customers, right down to the plumber.
Alright, granted, the plumber is there to do a job, and white collar workers, scientists and even software developers also have a job. However, unlike a pipe cutter as an example of a tool, software, also a tool, is upgraded, worked on - simply evolves - continuously. As technology adapts, improves and gets better, more complicated and ultimately beneficial to us we need to have the adequate software to run on it. In this example, my ideas in the previous paragraph are of direct importance as in this setting allowing people to innovate freely really begins to shine.
When you have a community of enthusiastic, talented people who can freely share their ideas and braindumps you get very innovative results. The users of those results should play an important role in the previous process and they can by communicating with the creators who then can further polish the creation.
I think society would benefit from the innovative input from it’s citizens. Workers should not only be focused on the job at hand but every once in a while also consider the tool they are using. Is it applicable for the job at hand? Have times changed? Is there something about this tool that could be improved? If there are faults what can I do?
I think the fundamental difference between each pipe cutter and their creators which you have just mentioned is the way the cutters were created and what you can do with it, the pipe cutter. I will not choose Microsoft’s pipe cutter because if I use it for something other than pipes I’m afraid of being sued. Moreover Microsoft’s pipe cutter does not cut my pipes as well as I have seen certain other pipe cutters achieve. The same might apply to Apple’s pipe cutter as well.
I think I am going to go for the pipe cutter that allows me to do my job most efficiently, the free software pipe cutter. If perhaps I find a problem with the pipe cutter I am sure I can not only find and talk to several thousand pipe cutter enthusiasts but probably a whole variety of different people. Some might be pipe designers, spanner designers and some might even create hammers.
And finally, if I have an idea that makes use of the pipe cutter in one way or another, I can do with the pipe cutter what I want and chances are there will be at least ten people out of those thousands of other enthusiastic plumbers, carpenters, electricians and so forth who might be interested also in my new idea.
That’s the power of freedom.
If you do not want to excercise the freedoms you posses in regard to your pipe cutter then just use it for your job. Nothing is stopping you from that. ;)
John: I’m identifying what real ‘Doze users evidently care about, as distinct from the article’s claims.
Pascal: the implied vote of confidence is welcome.
no pipe cutter is free. not paying for it still requires an investment of time and effort to master its specific requirements to operate successfully. Don’t fall for the cost of acquistion equals the cost of operation fallacy.
If the pipe doesn’t change why upgrade to a new beaut pipe cutter with many new features if it doesn’t cut the pipe any better than the one you already own. Hence when taken to a research or business scenario unless a process changes or gets optomised then the tools don’t really need to change.
One thing that is never really stated, yes you pay money to lock yourself into Apple or Microsoft etc as a choice. When you select an open source platform you also lock yourself into the vendor of that version. The distributions, tools, technologies are different between releases, so you learn Redhat in detail, does not automatically mean you can administer a SUSE or Ubuntu box any better or worse, and switching between releases red hat to ubuntu is no less complex than moving between windows releases.
I’d like to point out the errors in that. I agree that the cost of acquisition does not equal the cost of operation, however, I think everyone should consider the following:
A business is providing a product/service which requires the daily use of servers and terminal machines for the employees to use. Right now the business is using a proprietary solution, with Microsoft. If that business were to change from a Windows server to a Linux server and the terminals to Linux boxes also. The costs involved would be purchasing a distribution (if it’s from a company), the downtime during which the network is replaced, and the retraining, or perhaps re-hiring of staff (inc. tech support).
Why would a company do this? If they can say yes to this question: “will we save more money in the future years to come, on the whole if we move from our current solution to a free software solution?”. Yes there will be moving costs, yes there may be skills issues, but ultimately if the business can save more money using free software which does the same job, I find, mostly faster, more efficiently than what the business is currently using and paying a decent amount of money for then it will be worth it.
Unless I am mistaken we’re using the pipe and the pipe cutter metaphorically to represent a job at hand and the tool respectively, in regards to IT. Now, technology changes rapidly, we’re doubling our speeds and storage capacity every 18-24 months and therefore the job at hand will change. Five years ago there were very little web developers working on such things as AJAX and web apps. Five years ago there was no demand for blogs and thus no need for people to spend time creating a blogging portal.
The pipe is changing, everyday. And in this environment so must the tools. So most definitely one’s toolset must be adaptable and one wishing to stay in the loop must also be adaptable to meet new technologies and subsequent demand. The only way to do that is being an adaptive person with an open mind in regard to the tools you’ve got in your digital toolbox…
That is FUD. When you select a free software platform you are most certainly not locking yourself in. Firstly, your data is by default stored in open standard formats which you are guaranteed to be able to find a program to open them with in 10, 20 years time. Secondly when and if you must move from one distribution to another, say something went down the drain and you must change from Redhat to something else you have many very, very similar distributions available at your fingertips. In the case of Redhat… well you’ve got Fedora Core as an obvious choice, otherwise, CentOS. SUSE Linux is not very different now either, especially with the folks moving over to the Smart package manager (yes, that means YUM and APT and YOU, all in one).
However, I am particularly intrigued by this:
That is plain wrong. Had you have said moving from BSD to Ubuntu perhaps I may have agreed but I am sure to say that anyone who administers servers, including Windows and Mac servers will agree that moving from one distribution to another is a piece of cake. In the desktop arena this might be somewhat different, but hey, if you’ve got GNOME and KDE available and you were using one of them before there is little difference yet again
Heck I even did it. Moved from SUSE Linux 10.0 to Ubuntu 5.10. I even moved from being solely a KDE users to using GNOME, from one day to the next. Package management was just as easy, the menus were just as simple, the same applications ran. That was from a RPM system to a Debian system and I had no problems.
And if you were to conduct this change from a server perspective chances are it would be just as easy. The basic and most important tools and packages are exactly the same, DNS, Samba, DHCP, NTP, NFS, whatever.
As for moving from one Windows release to another, well at least perhaps until Vista really comes out, whenever it will, I think there has not really been much of a difference from one release to another. Sometimes even recognised bugs make their way into the new, commercial release, and other than that users have a half-arsed icon set, a slightly more polished desktop environment but ultimately below the core it’s similar stuff.
This is where all Open Source discussions fall down. The reason people adopt a certain technology isn’t to have a specific operating system, it is the applications running on that platform, where the application keeps the doors of the business open not the operating system. Shifting the operating system between various vendors does not ensure the busness can continue to operate…it is the application that runs on the OS that keeps the doors open.
Now if you had said there was an application with equivalent functionality in Open Source, was available from the vendor on multiple OS’s then I would say fine a migration could be what the company needs, but switching the OS doesn’t solve any problem.
Not at all. Sure, if a business is using Adobe Illustrator on Windows the only real alternative there is moving to a Mac platform if you were to want to change, but that is where we’re not exactly at fault. The person who decided to use Illustrator is mostly to blame along with Adobe for only providing their product under Mac and Windows platforms.
Personally in this regard, I think most computer terminals used by white-collar workers could easily run GNU/Linux. OpenOffice.org, KOffice, Gnumeric and Abiword easily cover the office suite needs, Evolution, Thunderbird and Kontact look after all emailing, contact, task and time management, Firefox, Epiphany, Opera and Konqueror and Nautilus cover all your web browsing and file management needs.
In the average office setting I think the applications listed above easily fulfil the requirements and wants of your average office worker. To top it all off you’ve just saved an average of about 500 USD per machine because not only your office applications (not to mention 17, 000 packages) did not cost you anything but in this example the machine is running GNU/Linux and you’ve saved money there too.
For more specific jobs such as a graphic designer - fair enough - they may have only the skillset to use and operate Adobe graphic design applications, which run only only on Mac and Windows platforms. Personally I would go for Inkscape, The GIMP and Blender, free software applications again, because they’ve allowed me to do all the graphic work I’ve done in the last two years without problems of functionality or a lack of features. For an idea what sort of work you can achieve with free software/open source graphic design tools such as the three I just mentioned check out http://orange.blender.org.
I think it does solve a lot of problems. If the business is currently running Windows there are issues of security the IT team have to constantly worry about. Then comes the price tag. A business is paying thousands of dollars, if not more, each year to pay for licensing and so forth for those Windows desktop and server systems which could be saved and that is a fixed problem; something good, a step in the right direction if we could save all that money and still have a secure, stable and powerful network of servers and desktop machines.
I think people need to get off their butt and try it out for a change rather than just complaining, spreading FUD and having so much doubt - most I would guess - having never actually tried a free software/open source solution in an average office environment. A lot of IT people in the industry seem so conservative to me. I think one of the most important values someone who desires to be a successful person, especially in regard to the IT arena needs to have an open mind and be prepared to try out new things, the bleeding edge and thus stay ahead in the loop, especially with technology changing so rapidly.
When I mean line of business application that keep the doors open I mean Oracle financials, SAP, Siebel, CRM solutions. The apps users have locally are personal in many respects and do not add up to a commercial solution. Even the email client is not relevant, but high availabilty for the email server is…any client will do as long as it integrates and communicateds with the relevant LOB systems.
Do not focus on what is in front of you at a workstation. Consider what the organisation needs as it sits in the data centre and then the best way to present it to the user, in the form relevant to the users skills (web, application based, via a spreadsheet etc)
I think the majority of the businesses out there are small to medium sized ones which could easily manage their IT requirements using free software, and if not at least with a Samba server. I hold with my opinion that free software, most definitely already in the server arena and now also in the desktop arena is a viable, cost effective, more secure and ultimately better solution in most cases than using a proprietary solution provided by the folks over at Redmond. :)
hhmm what about the proprietary vendors from salt lake city
What about them…? =?
You seem to blame Microsoft for everthing very Leon about you, what about HP, Novell, Sun, IBM etc. They is their own way have been significantly worse than Microsoft ever has been, especially IBM. If selling more hardware means support more platforms IBM will do anything to sell the kit and especially include maintenance. What runs on the platform is not relevant to them util you move into the big boys pants away from toddler stuff
We discussed the use of free software in the business environment - but as far as blame goes if you want to hand it out, Microsoft of course is not the only one in the arena that is practicing unfair business. In their histories, Sun, IBM, HP, and Novell definitely have had their fair share of particular incidents.
I never denied nor suggested that. In fact, I thank you bringing that up, because you’ve just helped suggest that even the more open-source/free software friendly businesses out there deal dirty sometimes, which leaves one to ponder what things all the others get up to.
This only really leaves one with one solid conclussion: if you don’t want to be or have anything to do with being screwed over, don’t support the large majority of all corporations out there - simple as that. I guess it does sound somewhat radical in a capitalist system, but that is essentially the solution… =\