Windows and Linux User Interfaces
Anonymous Coward writes "Greg Raiz, Boston based interface designer and former Microsftie takes a look at Linux and outlines key shortcomings and strengths of an OS that could take on a giant."
← Back to Stories (view on slashdot.org)
Perhaps there's some truth to this. If Linux is to gain more widespread adoption, then maybe that would help. If so, then I personally hope Linux remains a niche OS. What he doesn't seem to grasp is that some of us would rather remain true to the Unix ideals and philosophy than to chase mass market popularity. I want to just be able to extract an archive and run a binary contained within. I don't want to have to inform the OS that I've done so, and have to "install" the software. I want to be able to compile an app and run it from my home directory. Why should I have to register it with the OS in order to do so?
"The invisible and the non-existent look very much alike." -- Delos B. McKown
Linux should stop copying Microsoft feature for feature and embrace the differences and features that advanced users love.
I would disagree. What about enlightenment, fluxbox, openbox?
This article doesn't really make much sense overall.
That's why I'm still booting CP/M on my Commodore 128!
What?
Sun seem to be dropping GNOME as their Desktop
http://www.gnome.org/~gman/blog/02112005
Read more on above link!!!!
"The core mantra should be: "Simple and easy in everything we do, but give me a command line and I can move the world.""
I'm guessing he hasnt spent a lot of time in OS X then. Especially since he says in the article that Apple took the simplistic (ie not technical) approach.
Make upgrading from windows as easy as possible, Standardize on your widgets, and Make Installing Software Easy and secure.
I tend to agree with most of the articles comments except for 1 random jab at Apple for choosing the lower ground of loosing functionality for better interface, where I believe that Apples interface is middle ground like windows but it is just better designed so it is easer. But I digress.
For Installing why can't Most Linux distributions support Loopback files, So they can install Linux on top of a Windows partition and if they don't like linux just delete the ISO file. Also a Non-destructive partition system like Partition-Magic.
More effort should be put into WINE, and MONO projects. It should be easy to run Windows programs. Just like the migration from Apple OS 9 to OS 10 or from DOS to Windows or Windows 3.1 to 95. People prefer "Optimized" to their OS applications, and will ask for them, but if they can't get it they want to run the old ones. These projects will not make developers think "Well Linux emulates it so we don't need to port it." they will think wow we have xx% of our customers using our product in linux, Perhaps we should make a Linux Version before our competitor does so we don't loose them.
Standardizing on the User Interface is extremely important. I can't even count the times I have to go to a newbe who is using KDE or GNOME and opens an Application build with the other tool kit or worse a different one like X11 and explain to them that they may have some trouble Copying and Pasting, and oh this is a x application you need to do it this way instead. And your files are by default saved here except for there. It is confusing and they do not comprehend why things are so diverse.
Installing, I really don't see why Linux can't take a lesson from Apple and improve on it. To install an application drag the folder to where you want to run the application. Have all its files that it needs to run self contained inside itself and uninstalling it is just deleting the directory. And try as much as possible to make the application statically built With Drive space below $1 per gigabyte the extra space lest be a little wasteful to make installation easy. Only spread the files across the OS when you Really-Really Need to.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
For the second point, the photo system would be entirely dependent on the window manager and basic shell suite, and I know that Gnome has thumbnailing. I personally almost never use the default photo management stuff, opting for better software than baseline, but I can understand the author's argument.
The productivity suite one is a difficult one, as it'll require unrelated projects to have some kind of common backbone that may require extensive editing. It also won't be consistent to web-delivered rich-text editors that are common in forums that allow fonts and formatting. Even more annoying would be if it were difficult to remove or supplant with a better productivity suite.
As for contacts, while I'll agree that a baseline system would be nice, I'm inclined to specifically avoid something that's across-the-board for privacy and security purposes. I'd rather not have some malicious software that gets in through some exploit manage to retrieve my entire list of contacts and their types, only to then try to spread to them or to spam them.
The thing that the author doesn't address is that these responsibilities are the job of the distributions moreseo than the application developers. The distributions could very easily hire their own developers to take a project or application and modify it to meet these requirements. It might cost some money, but that's where RedHat or SuSE can 'value add' their part.
Do not look into laser with remaining eye.
Guys, we need to have an attractive desktop by default in order to make the user experience at least more appealing. In one installation of Ubuntu, I had to tweak the X.org conf file in order to have it display these fonts correctly! And believe me...it took more than 4 hours to get right! Who would have that time in the "real" world?
There is an opportunity for the open source community to create a VB compatible IDE that could compile applications for both to Windows and Linux.
It is a good commercial idea. But will any FOSS programmers bother implementing VB under Linux? On a more inflamatory note do we even want those VB programmers to develop for Linux?
This probably won't be a popular comment, but I think Mac OS will eventually be bigger on the desktop than Linux.
1) Easier Support - your computer breaks, you know who to go to
2) Less of a learning curve.
3) Less confusing in terms of options (there are a lot of types and kinds of Linux, or so it seems).
4) Media acceptance. Macs are more well known than Linux, which isn't Linux's fault, it's just the fact that OS X has Apple behind it.
5) Application Support - Things are ported to Mac quicker than to Linux usually. Apple also stands to get more software compatibility when they go to Intel computers.
::Braces for "-1 Flamebait"::
___ In the words of Gen. Douglas McArthur: "I'll be right back."
On se Internetz nobody noes your German.
As a corollary to the first rule, users don't like installing applications. Part of the fragmentation problem for Linux is that the fragmentation forces a problem for software installation. Users are forced to untar, un-gzip, copy, configure and sometimes compile in order to properly install software. To gain momentum Linux needs a central installation architecture that all applications must use to properly install and run. The OS should ensure that applications are installed before they can be executed.
Wow, I couldn't have described apt or emerge any better. Isn't it common that those who review Linux OS's vs. Windows almost always head to the biggest vendor (Redhat) which is exactly the wrong idea: directly motivated by Microsoft's position on the closed source market? Biggest is best is necessarily a universal philosophy. Also, there are rpm managers in Redhat that do the same thing as apt, I think you can even use apt on Redhat without too much trouble.
Sure one might say, "How would the avg. Windows user know to apt-get install ?"
I would answer, "They could figure that out long before they understood how to dl and compile source code, and would certainly require less user knowledge and decisions than going apt-get install , which rarely asks for user input"
I see a ton of skilled Windows IT folk that are scared away from Linux because they try to compile everything. Apparently they haven't heard, and/or common linux knowledge doesn't include important tips that would make Avg Joe Windows user's first Linux experience much more enjoyable.
It's implicitly assumed he meant it was a niche OS among the Windows/Home PC crowd.
While I agree with your comments for the most part, to say that the majority of all new servers are slated to run GNU/Linux is typical of the naive slashdot groupthink and is not remotely true. However, I'm in the middle of installing FreeBSD 5.4 on a Sun Blade 100 machine so I'm doing my part!
"What kind of music do pirates listen to?" -Paul Maud'dib
"Yeeeaaarrrrr n' Bee!!" -Stilgar, Leader of Sietch Tabr
Microsoft has put most its eggs in the .NET platform and has abandoned tens of thousands of VB developers by pulling support and further development on VB6. There is an opportunity for the open source community to create a VB compatible IDE that could compile applications for both to Windows and Linux. Such an IDE in conjunction with WINE could bring not only applications but also developers to the Linux platform.
so basically the strategy here is to take the shittiest developers from the windows platform and get them to write garbage code on linux?
Top 10 Reasons To Procrastinate
10.
Welcome to the Chicken and Egg problem. Hardware manufacturers and Software producers are not going to support Linux until it's popular. Yet Linux won't become popular until the Hardware and Software vendors support it. As a result, you need to make the product more attractive to users in another way.
Apple has the right idea. By pushing the technology far ahead of the competition, they convince users to accept some of the shortcomings in exchange for a large number of features unavailable on other platforms. This increases the Mac user base, forcing the Hardware and Software vendors to support them.
I know in my own personal case, I could run regularly Linux right now if I wanted to. The problem is that my kids have a large number of educational titles and other kids' software (no, they don't operate correctly under WINE) that they must reboot to use. If I leave the system in Linux, I hear no end of complaining from my wife who has to reboot the next day.
Now I (and a few others) have suggested methods by which the Linux Desktop could pull ahead of Windows, and possibly even the Mac. My own suggestions would be distro specific and would not harm any existing distros. Yet the community resists such changes strongly, stating that "Linux is perfect the way it is". Many automatically assume things I didn't say, based on their past experience.
So in the meantime, I and my small team will attempt to implement these ideas whenever we have sufficient time. Unfortunately, it is very difficult to reconcile our schedules, and without more volunteers I fear that the project will not get done in time to make a difference. Which is really too bad, as I feel that it could make Linux a significant competitior in the Desktop market.
Javascript + Nintendo DSi = DSiCade
I think he makes a good point that the clean solution is always better than trying to support older decisions that turned out to be less than ideal. But the problem is, users aren't interested in details. Details don't matter. They only want something to work, and keep working.
Most modern interface elements are implemented by most toolkits. I think a solution would be to take the concept of the X server, which implements low level functionality available via byte stream communications, and implement much higher level concepts using the same idea. Rather than linking in libraries (and tying your graphical concepts to one language - C for GTK, C++ + custom weirdness for QT) have an X server analog that can speak in terms of Menus, Canvas w/ Scrollbar, Button, Text Input, Text Output, etc. Instead of Xlib (or clx in Lisp) you would have a much, much higher level communication protocal. Language bindings for C, C++, what have you would build on the primatives and higher level widigets provided by this X-server plus, and themes and other details would no longer be different because of what language binding you happened to be using. Translating code between languages would also be much easier, since concept names in different languages could all build off of the standard in the server.
Look sometime at the problems people have writing Python bindings for QT. I think the idea of a high level graphical object server with server side theme configuration would take us a long way towards a common desktop look and feel.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
My parents use it, my grandmother runs Fedora, and I convert others on a daily basis.
;)
Wow you must all be living in your great grand parents' basement
sarchasm
He makes it sound so simple, doesn't he?
Writing a complete VB clone isn;t as simple as writing an IDE. VB 6 worked because of the underlying Windows infrastructure — ADO, Access, COM, and all those other acronyms that could be glued together with VB to make an application. VB provides a great environment for hacking together in-house and vertical market applications. It's good for rapid prototyping, too.
The Unix world has some very strong biases that make cloning VB difficult, not the least of which is a general prejudice that all VB code sucks. I've worked in shops with VB programmers (I'm a C++ guy), and saw some darned ugly code; the anti-VB prejudice has some basis in fact. Be that as it may, VB is a powerful force that locks many developers into Windows. If any of this code is to move to Linux, we would need to replicate the entire foundation of acronyms used in VB programs — a daunting task that most Unix-oriented folk will find unpalatable.
In part, Mono was trying to accomplish Windows-Linux interoperability, albeit using .Net as the foundation. Mono, however, does not address the vast quantity of VB 6 applications. And Mono's viability is still open for debate, given Microsoft's proprietary attitudes.
A while back, I was tried to sell the idea of a FOSS Access and VB to several major Linux "players", without success. Perhaps my pitch just wasn't that good, or maybe, just maybe, Unix people really are letting their prejudices get in the way of a Really Good Idea.
All about me
All of which is easy to do in Linux if you do it the same way that 99.99999% of the world's Windows users install Windows: they just buy a machine with it pre-installed and set up for the hardware in the machine.
Windows is not easy to install in the sense of it automatically sensing everything and never having to download drivers etc. But noone cares because almost noone actually ever installs Windows.
And, THAT is why Microsoft leans so hard on people like Dell and others to prevent them selling computers with Linux or even FreeDOS on them.
TWW
"Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
Some good ideas, but Greg is really out of touch with Linux and free software development in general.
He seems to miss the idea that (a) we can't throw out diversity of applications. It's confusion, but it's also a fact. (b) There *are* different distribution brands, though they try to lean on the common Linux name (RedHat Linux, Debian GNU/Linux, Gentoo Linux). (c) Most importantly, it's up to independent distributions to make the system into a cohesive user experience, and the success of GNU/Linux systems is precicely *because* of the ability for lots of independent developers to create software packages for it, not some central Linux authority. Linux *is* just the kernel,. It's up to other people to make more complete systems. He makes the very common mistake of confusing "Linux" with "OS consisting of a Linux kernel and GNU libraries and other tools with some user-oriented desktop environment".
There can be no Linux Inc. creating The One And Only Linux Desktop System. It shouldn't happen, and it fundamentally *can't*. There can only be a variety of Desktop Systems that are based on GNU/Linux.
This is yet another article saying that "If only Linux was a single unified force, it would be good." with a few sentences about interfaces at the front.
Let me dispell some of the myths. First, people don't want things to change. It's wrong.
If that were true, no one would have moved to OS X. "iPod, what's an iPod? I listen to music on my walkman."
People aren't going to change to GNU/Linux for no reason, but once they make the switch, we don't need it to look and behave like Windows. We have our own interfaces, and they work. OS X doesn't look like Microsoft Windows and people don't have that much trouble using it.
Some of the interface integration ideas he presents are allright- some of them are already in place, and others will take more work.
But the idea we need to drop KDE or GNOME, and drop distributions is old and tiring.
The simple fact is that when you consolodate for the sake of a unified force, you remove what makes the Free Software world great- competition.
If we'd all consolodated with Slackware in 92, we wouldn't have had packages. If we'd consolodated behind, say GNUStep, we wouldn't have had KDE, or GNOME, and so on.
The idea of lots of distributions and lots of interfaces and lots of every app is to let them all go, find which work best, borrow ideas, and, in the end, everyone benefits.
If we'd decided to "consolodate" and make an incompatible change, then that change would have to be left out. Once that happens, progress stops, and then someone else comes along and steals the rug from right under us.
Even "Consolodated" OSes like FreeBSD are, like GNU/Linux, collections of programs from other places.
I can't believe these articles still make it to Slashdot. They're old and tired.
Time for the FOSS community to start working on OpenOSX.
"The MAJORITY of all new servers today are slated to run Linux.
This is not going to change, I repeat, it will NOT change."
Right, because nothing better than Linux at running servers will ever come along. By the way, what OS always has the best uptimes? Linux right...
"How can you call Linux a "niche" OS?"
Because all of the estimates I have found place Linux desktop usage somwhere between 3 and 6%. If you need to ask now, it's because you don't understand what "niche" means.
"First off, Linux, or rather GNU/Linux, is an operating system KERNEL."
Man, you lost that battle years ago, give it up already.
"But more importantly, it is hugely successful and I am personally offended"
And NOW, FINALLY we get to the crux of the issue. YOU are personally invested, so rather than accept honest criticism, you get "offended" because someone spoke unfavorably about your hobby, and you feel that criticizing Linux is equivalent to criticizing you.
I'm feeling snarky, so I'm tempted to say that's patheitc. But I won't.
What I will say is that of that's the best argument you have, then Linux had better have someone else arguing for it. Luckily it does.
First off, Linux, or rather GNU/Linux, is an operating system KERNEL.
That's not even what the "GNU/Linux" people think. If you're going to advocate something like that, you should at least get your facts straight.
Linux is the operating system KERNEL.
GNU/Linux is the kernel plus the collection of (almost entirely GNU) applications and libraries that make up the OPERATING SYSTEM.
But, as noted above, even though Linux technically only refers to the kernel, the colloquial usage of the word has long been understood to refer to either the kernel or the operating system, depending on context.
Some of his comments are good, some are abysmal:
There is an opportunity for the open source community to create a VB compatible IDE that could compile applications for both to Windows and Linux.
Please, by all the gods you believe in, NO!. The very last thing we need is all this crappy VB stuff on Linux. VB is - by rights - famous for the shoddy software created with it. And don't tell me you can write good software with VB, the fact is that the vast majority of VB software are abominations that should've never left the author's imagination.
Entice users with well thought out end to end solutions
That entire chapter would've been much shorter if he had simply written: "Look to OSX for ideas on how to do it right, and to Windos for ideas on what to avoid at all costs".
Users are forced to untar, un-gzip, copy, configure and sometimes compile in order to properly install software.
Has the dude used any Linux distribution during the past 5 years or so? Now I do compile stuff occasionally, but then I want to be on the bleeding edge and some of that stuff was written by me. Almost all actual applications I use rely much more on apt-get and dselect than on tar and gzip.
Linux should stop copying Microsoft feature for feature and embrace the differences and features that advanced users love.
YES. Besides some of the stupid comments, he's got the basics right. Hey, wait. Some of us have been saying this for years. The problem is that too many decision makers in both KDE and Gnome believe copying windos is the road to heaven.
Assorted stuff I do sometimes: Lemuria.org
A week ago I started learning 'Unix' and all related stuff. I'm surprised at how fast I'm progressing. I'm also impressed by what I'm learning. I can use LaTeX and ConTeXt instead of MSWord, and they really kick MSWord's ass big time. I can use gnumeric and R project for statistics, and they really, really kick MSExcel's ass (I can cite studies where gnumeric proved far much superior and accurate, but I don't want their sites slashdotted). I can use grep, sed, awk and perl for parsing text. I can use vim for editing. I can use the superior cdraw, imagemagick for images (I can cite studies where cdraw and imagemagick proved much better in quality of results than photoshop, but I don't want their sites slashdotted). Soon I'll be able to use avisynth on linux.
Here's my point, people don't need to be beginners all their friggin' life. They should learn a little computing if they're going to use the computer for hours everyday. I wish I had done this much earlier, but had I not considered a switch to linux I wouldn't have; I have been using MS platform and related applications for 20 yeras and now I feel I have been encouraged to remain dumb for 20 years. In my experience, linux is the clear winner platform. I wish they'd teach linux skills in school - had kids learnt to use Bash, LaTex, Python, and R, this would be a much, much better world.
There are many areas where GNU/Linux distros (and the other *nix-like OSes) go far beyond anything that is possible in Windows or on the MacOS in terms of features. Many of these "beyond" areas would be VERY attractive to the average user. Unfortunately many of them are obscured behind the CLI or very complicated concepts. A few examples:
1. The xmdx extension for X window system (X.org) which would allow multiple machines to act as one shared screen over the network. Combined with the proper simple user interface and an xmdx aware pager, A user could execute their web browser on Machine A and go surfing. They could then drag-and-drop the browser to Machine B's desktop and keep on going down there. If this was further combined with an xmdx aware sound server, A music player could be made to follow it's user from machine to machine without ever stopping.
2. Virtualization might seem like a concept that would be useless to grandma, but you're not thinking straight if you believe that. If a GNU/Linux distro were set up to to run on top of a Xen paravirtualization environment in a transparent way and across multiple machines, imagine the user friendliness... To grandma, it looks like a desktop that is always where she left it and it never stops. She can shut her machine down and the Xen domain would migrate to the central home computer/data store.
3. Clustering. Again, a lot of people would think it's a dumb idea for "Joe Average" to have a cluster. But is it REALLY a dumb idea? I say no. Why should people be forced to throw away old computer systems once the latest version of Windows won't install? Why can't they just have an automatic cluster solution with a very transparent UI that provides them with MORE power than they would ever get from a single Windows box?
Just in general, the key should be to take very advanced concepts that don't even exist in the Windows world and make them available to the end-user in a very simple, transparent way. This is all possible with Linux. But most Linux folks don't think this way and therein lies the problem.
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
If you look at the article being linked to on LXer it says:
...
"The Linux desktop has gone way past the excellent product Sun released in December 2003. That desktop offered the Gnome 2.2 desktop and some very nice engineering. Most Linux desktops now offer Gnome 2.12 which has incorporated the nice engineering found in the original Sun project Madhatter. So, no one wants Sun's throwback desktop today.
Don't get your hopes up about the JDS desktop for Linux. They need to prove that they can follow through on something first. So far, the jury remains out. We don't know who would want their desktop anyway: It's old, they changed the look and feel and who will support it?
"
Basically, they realized that their Java Desktop has been obsoleted by GNOME and they no longer want to maintain their fork which few people wanted.
"You may want to try the latest build of 6.0-RC1 on the Sun Blade 100, or disable ATA DMA if you are using IDE hard drives in that machine. I also have a Sun Blade 100 that throw fits with ATA DMA enabled, but the problem was fixed prior to 6.0-RC1 was released."
"Thanks for the heads up. I was actually putting it on there to test the upgrade procedure from 5.4 to 6.0 before I applied it to the other sparc machines but not Blade 100s."
And you wonder why the average person uses Windows.
Greg's Head is part of my daily reading and he always has interesting things to say about the field of user interfaces. His latest post is Linux Thoughts. While the post has some very shrewd observations, there was something that nagged at me while I read it.
Going back through the post, I think his basic premise is wrong. The first paragraph of the post opens with,
And I think that's where he's wrong. I think there are definitely players in the Linux arena who want to use Linux to compete with Microsoft, but I don't think that's true for Linux as a whole. The drive behind Linux isn't to compete with Microsoft, to replace Windows, or even to provide a mom-and-pop OS to the mainstream. As with almost all open source software, the drive behind Linux is the scratching of an itch. No more, no less.
Looking from that point of view greatly changes some of the things Greg had to say. For instance,
If Linux was trying to be a brand, this would hold very true. However, from the standpoint that Linux progress comes from people scratching an itch, it doesn't hold any water. Part of why Linux is where it is today is because there are "dozens and perhaps even hundreds of different Linux distributions."
If you are trying to understand how Microsoft could compete against Linux, it becomes easier if you take the viewpoint that Linux is trying to be a brand that is competing back against Microsoft. But I believe you would be fooling yourself to take that viewpoint. The simple fact that it's not trying to be a brand is why it's so hard to compete against Linux.
As I said before, there are players in the Linux arena who would like to use Linux to compete against Microsoft, and the most obvious player that comes to mind is Novell. With Linux as a whole, though, there's nothing really for Microsoft to compete against. Microsoft could crush SuSe into the dust and it wouldn't really affect Linux.
Keeping all that in mind, I want to stress that this does not invalidate anything Greg has said about Linux in his post. He brings up some excellent points, lays some very good directions for Linux developers to take, and really hits the nail on the head with a lot of things with regard to how Linux could expand to the masses. But...
As long as there are a handful of programmers who are happy with their Linux distribution and are continuing to tinker with it, Linux will be wildly successful. Why? Because that handful of programmers are scratching an itch. It's as simple as that.
The "get people to switch from Windows" debate is raging again here - it reminded me that I wanted to know if there was a Linux-to-Windows conversion tool to ease the process. If not, let me say what I'm thinking.
I'd like a Windows executable that will scan my system, identify settings (TCP/IP settings, SMTP settings, dialup/VPN, background desktop image, you name it), and burn a CD of my settings. Then, I want a Linux executable that will read those settings, and set me up in Linux as close as possible to Windows.
This tool should ideally also work Windows-to-Windows for moving to a new computer. Ideally it should have a plugin architecture so folks can write add-ons. The XMMS folks can write a plugin to suck in my Winamp settings and so on. Done correctly, this tool could even analyze my installed programs and suggest what programs I'm going to need. "I see you have Yahoo Messenger - you'll want to get Yahoo Messenger for Linux or Gaim. Once it's installed, I'll pre-populate your settings."
Throw it all on a live CD and you have a great way to convince folks that switching to Linux is easy.
I'm not a developer, but I'm a Windows power user (the key demographic, yes?) who'd be happy to be on a team of folks interested in this.