“For several years now I have thought longingly about Linux, the power-to-the-people operating system that is said to be as stable as a rock, open and free and the embodiment of everything good in the world – in short, the exact opposite of Microsoft’s Windows, both technically and politically.” Read the review at Herald Tribune.
“Lindows is a bold and commendable effort to challenge the Microsoft hegemony and make computers cheaper. Unfortunately, it fails.”
The author encountered one of the key problems with Linux on the desktop:
One of the error messages I had received about Click-N-Run had suggested that I “might want to run ‘apt-get -f install,'” which couldn’t have been less meaningful if it had been written in Serbo- Croatian.
The problem here is that Click-N-Run is providing a graphical front end to yet another front end (apt-get) for the Debian package management tool (dpkg). Each of these adds an additonal layer of abstraction. I’m reminded of this Joel on Software article:
http://www.joelonsoftware.com/articles/LeakyAbstractions.html
Namely, this is definitely a case where the abstraction has leaked. Obviously some sort of dependancy problem has occured on the author’s system, and slipped between the cracks of what the Click-N-Run frontend is capable of handling on its own. The solution the Lindows programmers came up with was to spit the error message from apt-get to the user verbatim, which is entirely useless.
But this touches on a deeper problem which underlies desktop Linux: most GUI tools are just frontends for CLI tools. As such, there exists an unnecessary boundary layer in the software where problems tend to crop up rather frequently.
Contrast this to Windows, where the GUI tools are native components of the system, and this boundary layer doesn’t exist. From a software engineering perspective the Windows approach sports better design, and results in a less problematic user experience.
>> Contrast this to Windows, where the GUI tools are native components of the system, and this boundary layer doesn’t exist.
<<
Which of the windows are you are you talking about?
what browser exactly is “KDE Linux”? 🙂
Anyway, Lindows 3.0 wasn’t released quitely. I was all hype and.. well… hype. They only reason why it is “3.0” is because to get itself mentioned on mainstream press (2.0 was released two months before).
Personally, I think the author should have waited for Linux 3.1 or Lindows 95… heck maybe a decade later for Lindows XP.
I thought Lindows still bundled Wine, but doesn’t promote its Windows compatibility anymore…
“It is very hard for the average person to successfully install and get running.”
Any operating system is hard to install for the average person. Yes, that includes Windows XP. Format your mom’s computer’s harddisk and tell her to reinstall Windows XP; there’s 0.01% chance that she can actually do that.
This problem is not specific to Linux.
The only OS I know of that is entirely painless to install is BeOS.
Stick CD in, boot. Click install. Done.
-Chris Simmons,
Avid BeOS User.
The BeOSJournal.
http://www.beosjournal.org
>But this touches on a deeper problem which underlies desktop >Linux: most GUI tools are just frontends for CLI tools. As >such, there exists an unnecessary boundary layer in the >software where problems tend to crop up rather frequently.
I can’t see what exactly is your problem with this approach. All it takes is a carefully implemented GUI to a good CLI program.
As to the running apt-get -f install, it’s as easy as having a button in Click-N-Run GUI to which this command is assigned. This is GUI flaw, but the approach itself is absolutely OK.
Artem Vakhitov
This is exactly why I am not a big fan of Lindows. Despite their claims Linux is not for the masses yet. At its core it will always be a power user OS which should not be unleashed on your average user because it will confuse the heck out of them.
But this touches on a deeper problem which underlies desktop Linux: most GUI tools are just frontends for CLI tools. As such, there exists an unnecessary boundary layer in the software where problems tend to crop up rather frequently.
Contrast this to Windows, where the GUI tools are native components of the system, and this boundary layer doesn’t exist. From a software engineering perspective the Windows approach sports better design, and results in a less problematic user experience.
I’m sorry but this is ill-informed rubbish. A properly-designed frontend to a command-line tool need not – and usually doesn’t – cause any problems at all. The frontend and backend need to understand the same interface, the same command-line options and return codes, to talk to each other, but this is no different than COM objects which have to keep a common interface to each other if they are to be able to communicate successfully and get the job done. There’s a whole lot of Windows programs that use COM components but don’t handle exceptions raised by the components in any meaningful way, just the same as there are a whole lot of Unix programs that don’t check the return codes of spawned processes. The difference being that usually when a COM object raises an unhandled exception, the application using it falls over and dies and you curse Windows or that piece of software for being crashy, but when a Unix command returns an error that the parent process doesn’t check for and handle, nothing happens and you curse the software for not working.
In any case, the Lindows Click ‘n’ Run installer isn’t a frontend to a command-line tool, it links directly to and calls functions from a shared library – a DLL in Windows-speak – which handles the package installation. This is exactly the same way that the Windows Installer works. Both are nothing more than simple interfaces to a bunch of shared library functions that do the real work. Check your Windows/System or Windows/System32 directory for msi.dll and msihnd.dll, they are the (very) rough equivalent of the libapt-pkg library that Click ‘n’ Run uses.
The problem the reviewer had was really the result of Linux software installation being extremely ambitious – possibly a little too ambitious, and some would probably say baroque. The Debian packaging system that Lindows uses tries to track almost every file outside of the user home directories, not just added applications but the whole system. It understands all the interdependencies between all the files, which packages interfere with each other, what version of each package is installed and even stores an MD5 hash for each file so that you can verify that the whole system hasn’t been changed since it was installed. If you haven’t got the right libraries installed to make another peice of software work, it’ll automatically fetch and install them. The result: a system that can upgrade all your system and all your apps to the latest versions, all at once, from multiple sources on the internet, that should always leave you with a workable system and should never need reinstalling, that gives you a single place to install all the software you need, that never requires you to hunt down a DirectX upgrade or a Visual Basic runtime or some random DLL or OCX. If you’ve got multiple computers to admin, the benefits are multiplied manyfold – one command or one click and each system takes care of itself. Windows has absolutely nothing like it.
Except that sometimes it gets confused when the software isn’t packaged well and needs some prodding to fix itself, this is what seems to have happened to the poor reviewer. Unfortunately the Click ‘n’ Run interface doesn’t make this at all easy, which is why he ended up poking around with command line tools. Really it ought to have noticed there was a problem and fixed it itself, it’s well within its capabilites to do so.
This is exactly why I am not a big fan of Lindows. Despite their claims Linux is not for the masses yet. At its core it will always be a power user OS which should not be unleashed on your average user because it will confuse the heck out of them.
This is exactly why I am not a big fan of Mac OS X. Despite their claims Unix is not for the masses yet. At its core it will always be a power user OS which should not be unleashed on your average user because it will confuse the heck out of them.
If Apple can do it, so can the Linux throng. It may not be with the same style and panache (or it might be better!), but I think Apple have thoroughly trashed the idea that Unix is not something the average user can handle. It just takes time to smooth the rough edges…
In any case, it wasn’t so very long ago that average users were using DOS, plus, if they were lucky, Windows 3.1. Linux is light years ahead of that, and smoothing the rough edges fast.
1) With technology, this poor guy doesn’t have a clue
2) A good desktop operating-system should be usable without any problems for someone without a clue
Anybody who isn’t arrogant and utterly out of touch (which is quite the majority when it comes to computing) has realised Linux is for the time being dead on the desktop.
For a desktop user, Linux is slow, Linux is bloated, Linux is too hard to use, Linux has too many weird software incompatibility issues, the guis are too badly/stupidly designed, the wiget sets are inconsistant, the software is too geaky, and it tends to be unstable and break alot unless you’re an advanced user who loves fixing things.
I don’t care what geeks may say, it’s too hard, too many problems. I know what the other 98% wants, needs and can cope with, and Linux does not fit the bill by any stretch of my imagination. I do really want to see a decent free software desktop operating system, but I’m confident Linux isn’t going to provide any route to that objective any time soon, if ever, unless you’re a programmer type who loves fixing things and compiling from source.
I suppose I’m writing this because I’m just fed up. I’ve being watching this space through all the years I’ve been on the internet, and although efforts have been made, they’re blundered, chaotic, badly designed, aesthetically pretty, bloated n’ ram-hogging, and as out of touch with what’s needed as a royal saying why-don’t-they-eat-cake.
When I’ve looked into OSS projects, usually the average person involved is petty, selfish, mildly arrogant, and has utterly no concern for anything other than their fun. They just have no idea.
The www is a good decade old, there has been enough time to produce something decent, but since it hasn’t happen already, I doubt it ever will. There just are too few people out there who can program who are with-it enough to understand what needs to be done.
“But this touches on a deeper problem which underlies desktop Linux: most GUI tools are just frontends for CLI tools. As such, there exists an unnecessary boundary layer in the software where problems tend to crop up rather frequently.”
The abstraction can also be a strength, for it enables a number of different applications to use the same utility through a simple interface.
For example, the CLI app cdrecord works the same on over twenty operating systems, and is used by many gui apps and file managers. A cd burner supported in cdrecord will work with all the applications, and they all gain the benefits of bug fixes and updates to cdrecord, even if the gui app is not updated.
In windows I have to use a few different gui apps for burning CDs. They all use their own drivers, and updating one of them will often break ATAPI for another. Some will support one of my burners, some support the other. Some let me burn with disk at once, some don’t. Some support proper red book audio burning with ISRC. Others which will however, support data and mixed mode, don’t.
So I end up having to learn the quirks of a number of apps because there is no simple interface for the different guis to share the same dedicated cd burning utility.
Boundry layers also exist in Windows. There are just as many potential problems with a Windows API call as there are with a CLI command, the difference is, there is no way of using the Windows API without a GUI. Credit to MS though, they have kept all the crufty bits of the API in there for years, which reduces these sort of problems, though it is starting to get a bit labyrinthine.
My fave (and somewhat OT) quote:
“Granted, OLE and its successor COM have the elegance of a figure-skating hippopotamus. But putting MFC on top of COM is like dressing the hippo in an oversized clown suit.”
duh, not on all computers,sometimes extra work is needed
The only OS I know of that is entirely painless to install is BeOS.
Stick CD in, boot. Click install. Done.
I take it you’ve not tried Knoppix yet then?
(Or any of the versions of MacOS that have come on CD, for that matter)
@Bascule took the words from my mouth, well written.
You take away the terminal from any OS you retract the real stability and power, simple apps doin simple tasks combining to perform many tasks effectively. It is sad that so many people require a nice gui to perform the most meanial tasks & then wonder why it doesn’t work perfectly. Things will crash if you want them to be all pretty, take some time to learn a couple of commands and the bugs reduce. In the end its up to the user (thats the nix diference).
well, with that I’ll be off to bed for some well needed sleep
I also used LindowsOS and I didn’t have a single problem this guy had. LindowsOS ain’t the greatest, but it ain’t that bad.
Also if it takes an hour to install Windows XP on your system, something is wrong.
I never had problems with Click-n-Run while I was trying it out. Xandros Networks for example is very slow compared to CNR and also failed on me a couple of times. CNR never failed on me.
Chris Simmons: The only OS I know of that is entirely painless to install is BeOS.
Heck, MacOS does this also. Hm, even Knoppix
marm: Unfortunately the Click ‘n’ Run interface doesn’t make this at all easy
One more victim of Michael Robertson’ Reality Distortion Field?
(Or you REALLY think that only Steve Jobs has RDFs? A lot of people has it also, looks like it’s a favourite on IT – doesn’t count Larry Ellison because gods doesn’t have RDFs, they make reality
What you can not do with Wondows:
– BOOT’N’RUN from CD (Knoppix, DemoLinux, Freeduc)
– boot and run firewall from a floppy (floppyfw)
– boot from CD and watch a movie (movix)
– boot from floppy and establish a ftp session (tomsrtbt)
– easily upgrade a distro (Debian)
…
There are many things that should be up there. All newbies tend to become experts (sort of). So is Windows the right way to go? Should they look for possibilities in the OS they use or not?
I read this sh*t. I didn’t understand a damn thing…
Ok enough with the apm-get and CnR thin…
He said his PC hang a couple ov times… =]]
He said he wasn’t pleazed with Lindows etc…
I would REALLY sugest him trying another DISTRO.
Xandros, Lycoris, Mandrake[With a good theme], SuSE!!
I installed My SuSE 8.1 in 35 min..
The only things i Had problems with were NVIDIA drivers[Really unstable they are] and with my second cdrom
thats all…
Wine works the same on all Distos
If u want to run Win apps u should install Win4Lin if u want 2 play games install winex that’s all…
Seems the authors is thinking hardly to the windows apps.
Why not thinking in term of freedom ? Here everything is in term of money and oriented against windows.
Why acrobat ? Why staroffice ? Why running windows apps under wine ? Why Lindows (why MS loosed against this fucking name ?) ? Why confuse linux and the entire system ? Why each time a distro become linux bad ?
Many people are impressed by knoppix but does not seem be the case with lindows… Probably because lindows is another windows without any innovation, just a (bad) copy.
If somebody had never used windows and comes from *n*x world, this man will certainly be searching grep/bash(or a good command prompt)/Latex/(x)emacs/(v)-im/secure remote access/tex/…
*n*x isn’t “one fit all needs” but the system fits to your needs.
” This is exactly why I am not a big fan of Mac OS X. Despite their claims Unix is not for the masses yet. At its core it will always be a power user OS which should not be unleashed on your average user because it will confuse the heck out of them.”
My 4 year old uses OS X without any problems at all.
“…there is no way of using the Windows API without a GUI.”
huh? You can easily use pretty much all of the Win API from a console app. trust me, I do it every day.
>> My 4 year old uses OS X without any problems at all.
My 5 year old uses Linux without any problem that does make
it easy to use but i explained where she must click to start tuxracer of tuxpaint. Besides MAcOSX was really just to slow on my G4 (256mb) i made it yellow again..
Counter arguments so far:
Linux runs a floppy firewall
Command line tools are easier for OS abstraction
No way to use Windows without GUI
Should use Win4Lin or WineX for windows games
Think of the the freedom
Guess what? You’re all out of touch with what a normal person wants!
Bascule is right as far as the CLI abstractions are concerned.
Of course, both textual (CLI) and binary (library) interfaces to a backend can break. However, the person who writes a library needs to break binary compatibility deliberatly and explicitly. He designed the library, he _knows_ it’s going to be used by a front-end, and so on.
With a textual (CLI) tool that’s being used as a back-end, the original author may not even be aware that some random GUI app is using his tool as a backend (granted, that’s probably a rare thing).
The real problem is that CLI tool authors usually don’t give a rigid definition of their input/output syntax (as opposed to library interface which are well-defined). Therefore, different front-end authors might decide to parse the output of the CLI tool in many different way. This implies that there are many different ways for the author of the CLI tool to break one or more front-end in unpredictable ways, while other front-ends may still work fine even with the change.
The bottom-line is: binary interfaces aren’t necessarily superior, though they can be more efficient because formatting/reparsing is avoided. However, binary interfaces are usually defined a lot better than textual interfaces, so there will be less incompatibility problems.
>I’m sorry but this is ill-informed rubbish. A >properly-designed frontend to a command-line tool need not – >and usually doesn’t – cause any problems at all. The frontend >and backend need to understand the same interface,
>the same command-line options and return codes, to talk to >each other
Right, but the problem is that cli tools DO NOT return any return code telling exatly what went wrong. They just return sucess and failure and then a text message. My only solution to find out what went wrong is to parse that error message, and that is error-prone(What happends when someone change the error messages, or translate them). And how do I
know if I handle all error messages? I have newer seen a cli program that specified all posible error messages it can print.
The correct way to solve this problem is to remember that a
cli program is also a user-interface. So insted of integrating actuelly functions into the cli program put all the functions needed to handle debian-packages into a self-contained library and then make programs(Whenever cli or gui) use that library. That way you don’t dublicate code and you don’t have to parse text output which is NOT meant to be parsed.
Martin Tilsted [email protected]
Lol, the poor sod.. I wish he would try out a real distro. And no, you don’t need a degree to install them (but of course, I don’t have to tell you guys that
There are three groups of Linux users. The first group wants to change Linux to make it easy for the masses. The second group wants the masses to change and learn how to use Linux. The third group simply says screw the masses.
“MP3.COM is losing money. Lindows.COM is losing money. Maybe they’ll both go out of business, and you can go back to living the life you want.”
Maybe Linux is a good desktop platform, and maybe not. The issue here is that somebody wants to earn a lot of money and take a lot of profit from free labor. People who write free code usually write it for themselves, and then share it with anyone who has the same (or similar) needs. Not so Joe Public can have exactly the desktop he wants, after a thousand million man-hours of usability studies. Free-software writers will listen to you about your desktop usability complaints, but only to the extent that your needs do *not* interfere with theirs. For instance, on Windows it’s really hard to prevent an application from “taking focus” immediately it runs; this has to be done at the programming level, and the only software I’ve seen that does it by default is TCL/Tk. I used to think that was disgusting, until I found out why.
You see there are people who have to work so fact that they may need to “blind-type” on a window, even if another window pops up in front of it.
Most, or all, of the window managers on Linux are nowadays set up to force focus by default leaving such speed-typists in a frustrating situation, but *the user can change this behavior.* Such a feature can be confusing to Joe Public, but therre are a lot of Linux users who *need* to be able to change it.
As to the “many layers of abstraction,” any failure in such a situation is not caused by the abstractions themselves, but by the programmers who either (a) didn’t produce a well-defined set of communication protocols, or (b) didn’t bother to learn those protocols properly. If I were out to make some “fast money” on Linux, which type of a programmer would I be, do you think?
“I can’t see what exactly is your problem with this approach. All it takes is a carefully implemented GUI to a good CLI program.
As to the running apt-get -f install, it’s as easy as having a button in Click-N-Run GUI to which this command is assigned. This is GUI flaw, but the approach itself is absolutely OK.
Artem Vakhitov”
XMMS, I believe, invokes mpg123 to play back music in MP3 format. Been using it for years and years without problems. Seems to me that the XMMS people spent some time working with the mpg123 people and got it right, no? Will “Lindows.COM” be able to establish that good of a relationship with volunteers? Especially if some of those volunteers are thinking “Fast money for free labor?”
I use free software for writing and design, although I use some proprietary software. I installed Linux and I am not a programmer – just simple JavaScripts and I never took a class in computers. I installed Mandrake back in 1999 without any help and it worked fine. I installed hundreds of programs and the only problem I had was with Netscape – now fixed now that they stopped using Motif. I though enjoy learning new things and thinking differently. I think people shouldn’t be pushed to Linux too soon, but I tell someone if they wait a year there will be much better programs. 2001 vs. 1999 I could print with Linux, and burn cds, 2002 – there are many cool free games that are open source. More happens each year.
XMMS, I believe, invokes mpg123 to play back music in MP3 format.
AFAIK no. Yes, they could have gotten the mpg123 engine on XMMS, but XMMS doesn’t depend on the binary of mpg123
He seems to be used to the problems in windows, but not to known anything about Linux/Lindows.
If he wants to run Windows software he must use windows instead of linux.
If he is able to run certain windows apps in Linux he must be saying “thanks god” instead being complained due the poor record M$ has regarding cooperation with other platforms.
Anyway Linux is far away from the desktop, much mnore than people might imagine.
Linux(all distros) are a huge mess which leaks in may areas. As someone pointed out there’s too much selfishness and ego to cooperate and unify on two basic areas: binary distribution, and desktop integration.
Until those two points are not sorted out, Linux is doomed to be a geek-only tool, and will continue o annoy a lot of good developers.
>The only OS I know of that is entirely painless to install is >BeOS.
>Stick CD in, boot. Click install. Done.
Yes, as long as you don’t mind your network card not working. Or soundcard not working.
Say what you will about the complexity of WinXX and Linux installs, they’ve always pegged the network and sound stuff.
The only OS I know of that is entirely painless to install is BeOS.
I guess you haven’t tried Mac OS either, as far as I can remember it was always insert CD (or Floppy), install and reboot.
How often are you guys fresh installing your OS? I’m as big a fan as clean formatting my harddrive as anyone, but it’s not something I do weekly. It’s wonderful these OS’ can boot from cd, but I don’t see how necessary it is as I usually use my own computer, and it has a harddrive. Perhaps I’m missing out by not being able to boot from CD and watch a movie immediatly though.. if this is a big concern… I have a device at home that’s not a computer that can do that called a “dvd player”… I didn’t even have to tweak the resolution. sweet eh???
I just get a blank page with text saying ” back to start of article ” but it isnt a link…
> Guess what? You’re all out of touch with what a normal
> person wants!
not really, but you are obviously not seeing the power of linux here.
There are distro’s that do what normal users want, the poster of the advantages clearly shows that linux extends that beyond being for the normal user. It’s configurable to serve different purposes, and that’s something windows isn’t (unless ms wants to configure it for say pda or tablet pc).
Linux can serve many different needs, the trick is to find the distro that most closely matches your needs, and tweak it from there.
Then you are free to make an iso of you’r configuration and install it on as many servers/desktops you want. If you think you can serve the masses by releasing it as your own distro, go ahead.
The point you are missing is that not everyone is a normal user, and those who fall out of the norm are constrained with ms products
> There are three groups of Linux users. The first group
> wants to change Linux to make it easy for the masses. The
> second group wants the masses to change and learn how to
> use Linux. The third group simply says screw the masses.
you are absolutely correct.
But this is also an issue that’s being solved by the open source nature of linux.
There are three groups of distro’s. The first group wants to make linux easy for the masses (xandros, mandrake, …). The second group wants the masses to change and learn how to use linux (redhat, debian, … to some extent). The third group simply says screw the masses (debian to some extent, but firewall or router specific distros for example, or minimal)
> How often are you guys fresh installing your OS? I’m as
> big a fan as clean formatting my harddrive as anyone, but
> it’s not something I do weekly. It’s wonderful these OS’
> can boot from cd, but I don’t see how necessary it is as I
> usually use my own computer, and it has a harddrive.
> Perhaps I’m missing out by not being able to boot from CD
> and watch a movie immediatly though.. if this is a big
> concern… I have a device at home that’s not a computer
> that can do that called a “dvd player”… I didn’t even
> have to tweak the resolution. sweet eh???
It’s great to see you’ve found a setup that works for you.
It’s even better to see people working to make a product that’s providing others with the right setup for them
for example: I could see knoppix based workstations in internet cafe’s, no hard disk in them. The visitors are allowed to surf the web, and that’s about all. Whenever something goes wrong: reboot the system and you’ll be back online in a few minutes, exactly as before.
same goes for all the specific distro’s, they are built to serve a need, and if the need is no longer there, or the demand is too low, the distro’s go away and die, and others are built for other needs.
please don’t be so narrow minded, not all computers are used like you use yours.
Groups carrying experiments is actually a good thing, those who prove useful will remain, those who suck die.
A properly-designed frontend to a command-line tool need not – and usually doesn’t – cause any problems at all. The frontend and backend need to understand the same interface, the same command-line options and return codes, to talk to each other, but this is no different than COM objects which have to keep a common interface to each other if they are to be able to communicate successfully and get the job done.
Except with COM there’s a standardized ABI, and the model is designed for interaction with a higher level component. CLI tools are designed for direct user interaction. Certainly you aren’t saying some pipes and a parser are as elegant a solution as a standard ABI.
There’s a whole lot of Windows programs that use COM components but don’t handle exceptions raised by the components in any meaningful way, just the same as there are a whole lot of Unix programs that don’t check the return codes of spawned processes.
Except with a binary interface you have predefined ways in which errors may be returned to higher level code, whereas with some pipes and a parser your only hope is to grep the source and document all the possible output a program may produce, then alter your parser accordingly. Not an elegant solution…
I can’t see what exactly is your problem with this approach. All it takes is a carefully implemented GUI to a good CLI program.
It’s an unnecessary layer of interprocess interaction, and wraps a tool designed for human interaction in attempts to enforce machine interaction. I experience these types of applications breaking constantly.
In any case, the Lindows Click ‘n’ Run installer isn’t a frontend to a command-line tool, it links directly to and calls functions from a shared library – a DLL in Windows-speak – which handles the package installation. This is exactly the same way that the Windows Installer works. Both are nothing more than simple interfaces to a bunch of shared library functions that do the real work. Check your Windows/System or Windows/System32 directory for msi.dll and msihnd.dll, they are the (very) rough equivalent of the libapt-pkg library that Click ‘n’ Run uses.
I think most people perceive me as a Unix hardliner, however you seem to think I’m some sort of Microserf.
Regardless, I wasn’t aware that Click-N-Run was linked against a library (and of course I can’t be certain you’ve used Lindows and actually verified this) however if that truly is the case it seems to be a rather poor adaptation of apt-get to a library. I would say a library returning a textual error message asking that a command be invoked (rather than providing a method for doing so directly) constitutes a rather poor conversion to a library. And of course, apt still remains a frontend to dpkg
The bottom-line is: binary interfaces aren’t necessarily superior, though they can be more efficient because formatting/reparsing is avoided. However, binary interfaces are usually defined a lot better than textual interfaces, so there will be less incompatibility problems.
Thank you, this is precisely my point…
There is also the increased complexity inherent in interprocess interaction to contend with as well.
Right, but the problem is that cli tools DO NOT return any return code telling exatly what went wrong. They just return sucess and failure and then a text message. My only solution to find out what went wrong is to parse that error message, and that is error-prone(What happends when someone change the error messages, or translate them). And how do I know if I handle all error messages? I have newer seen a cli program that specified all posible error messages it can print.
Yes, same point I’ve been arguing, that machine interaction with (often complex) CLI tools includes an unnecessarily complicated boundary layer where software can break down.
As to the running apt-get -f install, it’s as easy as having a button in Click-N-Run GUI to which this command is assigned. This is GUI flaw, but the approach itself is absolutely OK.
No, that’s a stupid approach. What would you have done, pop up a dialog saying that there’s a dependancy problem, would you like to have it resolved automatically? What do you think your average user would do in that case?
I would say the solution for “Home” oriented software would be to automatically resolve dependancies in that instance, regardless of if it might break something, because from the user’s perspective if this isn’t done than their system is already broken.
XMMS, I believe, invokes mpg123 to play back music in MP3 format.
No, originally the mpg123 sources were adapted into a plugin for XMMS called libmpg123.so
Regardless, I wouldn’t be citing XMMS as a reference for anything besides bad design in a software engineering discussion.
I was under the impression that Lindows aimed to be a desktop OS for it’s slogan “bringing choice to the desktop computer”. what you described with an internet cafe setup is not typical of the desktop experience. my bad. i wasn’t aware lindows was targeting internet cafe workstation terminals without hard drives.
As long as Lindows/Linux and all the above remain the user unfriendly schmegma that they really are, there is buckleys chance of them ever being considered by joe sixpack. Wake up and smell the evershrinking alternative OS home desktop market.
Linux for the masses is pie in the sky a geek wet deam. Wake me when they have all decided which way to pull next week. Suse? Redhat? Debian? Mandrake? Whatever…
Pffft, AmigaOS has a better chance at this non-existant alternative OS market.
The article is a good one, but all the commentary above seems to miss the point. The first place for Linux on the desktop is business and govt, where the number of apps used are limited (normally, or at least for many).
It’s just a matter of time, as companies and cash-strapped local and state govts try to save money. Either MS lowers its prices or Linux takes over. I think this is probably inevitable (although that is just my guess).
Also overseas they are more tired of paying the MS tax (which to them is also a USA tax), so they have greater incentive to move toward Linux. Once things reach a critical mass over there on the # of business apps, that helps in the USA too as more and more business software is available for Linux (or more likely, written to be run through a web browser or maybe java).
Also, despite this fellow’s tough time, his real complaint is the lack of app support. Well, I do think there are people who only want email and web browsing, etc. Who don’t need many other more specialized apps if any. So as the rough edges get taken off linux, it becomes more viable for these users. OK, that may take a few years, but is it really that far off?
Linux is coming strong, but not as much as some people lie about. First of all, overall Windows is the best OS in the market today. With all that complexity, features, programs, drivers … it is compared with much simpler OSes. That itself shows how good it is.
There are various issues. Number one is that productivity is important for everybody. You can’t go to any OS, just because it also has the same programs. You have to think about productivity. So, it is not so easy for Linux to replace Windows without addressing these issues. Ok, it is true that for many businesses, governments only certain apps are going to run on their computers, but producitivity issue should be addressed. For example, if I am an IT manager in a company, I wouldn’t force my users to suffer while using their computers just to save some costs. You can’t jump into Linux train just because it is cheaper. You have to think about various issues, including cost of ownership, productivity and so on. Linux is not there yet, however it is getting there. If the apps are very simple in an organization, I think they can replace their Oses with Linux.
First of all, certain problems has to be solved. Installing a software should be as easy as it is in Windows. Maintaining it should also be as easy as Windows. For that you bump into the problem that Linux is mostly a volunteer project. People don’t stick around all the time, they don’t have too much time to deal with all those problems. So Linux has to commercialize a little, so that it can support certain costs. The companies around Linux are a good idea, they can in turn support these projects and developers, but it is not a necessity for them to do so. So again, we don’t know whether those companies may be any good for the Linux at all.
Except with COM there’s a standardized ABI, and the model is designed for interaction with a higher level component. CLI tools are designed for direct user interaction. Certainly you aren’t saying some pipes and a parser are as elegant a solution as a standard ABI.
Sure there’s a standardized ABI with COM, but that’s only part of it: the COM client application still has to know which methods do what in the COM object and call them correctly. What I guess is an advantage is that a COM interface can describe all its methods in a standard, machine-understandable way.
In a sense there’s a standardised ABI for all the GNU command-line tools – –help should get you a list of all the command-line options (all the “methods”), –version should get you a version string so that you can check that the right version is installed, all communication goes on using pipes, and the only data type that is passed around is plain text.
You’re not meant to change the interface to a COM component either, but it does happen sometimes that a COM object’s interface gets changed and the programmer fails to update the GUID… oops. Call a method that’s been changed…. bang… crash.
By convention, you don’t change command-line parameters for Unix commands either, for exactly the same reasons… although, again, it does happen sometimes, hence your frustration at frontends that don’t work.
And who said you needed to parse the output of a command either to know what’s happened – surely you understand the concept of a return code or exit status, a numerical value that tells the parent process (or calling function what’s happened? By convention, 0 on successful completion of the command, non-zero on some kind of error, and the command can return different non-zero errors depending on what the nature of the error is. Easy to check for, no parsing required.
Really there’s a lot less difference between COM and Unix command-line programs than some people would have you believe. If the command-line frontends you’ve used don’t check properly for errors, well that’s their fault for being badly written, but that doesn’t mean to say the concept of a frontend to command-line tools is a bad one. As a programmer, you can mess up just as easily (probably more easily actually, given COM’s obscenely complicated nature) building a frontend to COM objects.
As for Click ‘n’ Run, yes, it seems it isn’t very well put together, but what do you expect? There’s as much crappy, buggy software on Linux as there is on any other platform. Writing good software is HARD.
If superior technology would always win, we would be all using Dvorak keyboards, Betamax VCRs and OS/2. Often the technology that wins is what’s cheaper and/or better marketed.
Linux isn’t worse than Windows, it just has different weaknesses. And people want to stick with what they know. If 95% of the world’s desktops had Linux on them, Windows would not even have a chance of succeeding as much as Macs do.
As more organisations try Linux as a business desktop, their employees would learn to use it and wouldn’t be afraid to try it at home.
It’s just that big changes don’t happen overnight.
PS: I’m not an elitist and I don’t think that Linux is perfect. I just don’t think it’s worse than Windows.
I was under the impression that Lindows aimed to be a desktop OS for it’s slogan “bringing choice to the desktop computer”. what you described with an internet cafe setup is not typical of the desktop experience. my bad. i wasn’t aware lindows was targeting internet cafe workstation terminals without hard drives.
knoppix obviously, as the post was referring to cd-bootable distro’s
The Lindows EULA is certainly not the opposite of MS’s. Debian/Gentoo/Red Hat/Mandrake/Slack, etc., are the opposite of MS’s. Lindows EULA is a lot more like OSX. It restricts third party distribution, and thus is not “free” like we’ve come to think of Linux.