Just an addendum, but I think I know how they got the 25% working printers figure for Linux.
The top printer brands are Canon, Epson, HP, and Lexmark.
Fully half of Lexmark printers either barely work or are paperweights. Only about 1/4 of Lexmark printers work correctly.
HP is not as bad, about half of their printers work correctly, and only a handfull work partially or not at all.
Epson about 1/3 work correctly and another 1/3 work partially or not at all.
Canon less than 1/4 work correctly, and close to half work partially or not at all.
These are just eyeball guestimates, but these are the four most popular brands in the world, and the Linux support is shitty. Throw in brands like Xerox or Sharp and it's even worse. Basically, if you buy a popular printer it will probably not work completely correctly, and you've got a good chance of it not working at all.
They say "Linux is a self help solution. There are no step-by-step tutorials provided, and help documentation is limited.
These remarks are easily proven false, by demonstrating the large volume of step-by-step tutorials and help documentation that are available.
They are completely correct, actually. Vista attempts to fix any problems that come up automagically. Sometimes it fails, but for most things it works, and it is kind of impressive. It will even go so far as searching the MS knowlegebase for a solution and apply it if it finds one. Though when it does fail they tend to give you shit for troubleshooting codes, so I wouldn't say it is perfect by any stretch.
It is automatic though, and there sure as hell isn't anything automatic about fixing a problem in Linux. That's definitely not falsifiable. Man pages are shit, by the way, have you ever tried fixing a linux problem when you didn't have internet access and a wealth of personal Linux knowledge? I have, it sucks. Doable, but sucks.
This is easily falsifiable by showing the large number of printers that Linux drivers are available for, the small number that drivers are unavailable for. And also showing the large number of printers Linux has drivers for that don't work in Windows 7 / Vista.
This seems to tell a different story. You're statement is somewhat correct if you only look at printers listed under partially working, unknown, or paperweights. If you include all the printers that don't have 100% Linux support, the picture changes dramatically. Just a quick glance and I'd guess less than half of the printers on that list work correctly. The 25% figure is probably a stretch, and they may be intentionally using an old figure, lying bastards that they are, but it still does not paint a pretty picture for Linux when Vista supports 99% of these. Printers that don't work in Vista / Windows 7 are few and far between. Not so for Linux. There is a reason for that, and it's stacked in MS's favor, but that doesn't change what reality is.
Umm.. how? Granted, it's a step more than an MSI file, but if your installer is in a Zip file, you open it and run it. Almost as easy as it gets. If there is no executable period, there is no program, and no matter what OS you use if you can't get a binary somehow the app won't run.
Who said anything about "corporate"?
Ubuntu is corporate. It is created and maintained by Canonical, a corporation. That's pretty much the definition of corporate. Community involvement is great, but it's still corporate. As is Fedora and Red Hat and Debian. The only non-corporate way to install software is also non-repository based. Repositories are pretty much the only easy way to install software in Linux, relatively speaking config/compile/install is a nightmare. It's not really that bad when it works correctly, but why is it even necessary? 90% of the time you're just entering the same three commands, why isn't there a wrapper for that that runs it straight from the tarball on your desktop? That's all I'm really talking about here. Something that automatically delt with library versioning would be great, but you can run into library issues in Windows and Mac as well, so that wouldn't be a knock against Linux.
If -I- have a problem with using Linux, you can bet your ass the vast majority of non-technical users will have a problem using it as well.
Sounds good. Except it's also arrogant and wrong.
When I mention "driver" to someone and they give me a funny look and say "What's a driver?", do you really think they will have an easy time of using Linux? Frankly, the non-technical person who manages to get along just fine in Linux either uses the basic setup and nothing more, or has someone who is a Linux expert behind them helping them out whenever they have an issue. This will be a rare case. Seriously. I work with non technical people all the time (all day long in fact until I started working with a process engineering group, MUCH easier to work with), and you'll spend 20 minutes just trying to get them to open a terminal so you can give them the commands to fix whatever issues they have that cannot be fixed via the GUI.
The vast majority of non-technical users don't need to be downloading random pieces of software from the Internet, and are better off not doing so. They like the App Store for the iPhone, so I don't see how add/remove programs on Ubuntu is worse.
What you think someone should or should not be allowed to do is irrelavent and imposing that on others frankly goes against the whole Linux and free software philosophy. Add/Remove programs is not worse than anything, it is just fine. In fact I like it a hell of a lot better than add/remove programs in Windows. But it is incomplete. It does not have even remotely near everything a person might want to install, and if you don't think the average joe has obscure interests and wants to install some software for some strange but harmless purpose or another, you are sadly misinformed. More than likely this software will not be in Add/Remove programs, but it may have been written by some strange geek who oddly enough has the same odd interest but also writes Linux programs as a hobby. This will be provided in what appears to be the Linux standard - the tarball. Except the tarball can be a pain in the ass to setup sometimes, and even when it works just fine Average Joe will probably have a hard time figuring out how to do it correctly.
Why is there not an easy wrapper to install these tarballs?
You have a harder time because you try to do more with your computer than the average non-technical user needs.
No, I don't. My personal computer I keep relatively simple. Voice recognition software is definitely within the realm of what a non-technical user will play with, and that's exactly the software that pissed me off.
Har har, but to a degree you are absolutely correct.
I want to use my computer to do stuff, not spend all day trying to figure out why./configure failed, then figure out why make failed, and of course whatever abomination came out of the make is never going to install correctly. Yeah, I can work around it and make it work, but I don't think I should have to. I do that kind of shit at work, I don't want to do it at home too when all I'm trying to do is use my wireless internet, or listen to music and open a video up at the same time, or play around with some voice recognition software.
If all I want to do is install a piece of software, why should I have to jump through hoops to do it? Is it really that difficult to take the configure/compile/install process and package it up into one step? Everybody else can do it, why can't the Linux community?
You missed the part about the Unix philosophy, which is "Do one thing, and do it well". It browses the web, apparently very very well. But storing cookies for later use isn't really browsing, now, is it? Neither are favorites or bookmarks or history and all that. If you want that stuff, you have to write scripts for it.
For example: Suppose I want to install Firefox. I know about Firefox already, and I know I trust it. On Windows, I would have to go to mozilla.com and download a binary -- which opens me up to a MITM attack, or to someone having compromised mozilla.com, or me mistyping the name, etc etc.
Linux is no more secure from a man in the middle attack than windows, no matter what you might think. The attack happens outside the OS, and the repository your Linux machine is no less vulnerable than a web browser in Windows. In fact, IE and FireFox both attempt to detect such attacks, as does most high-end networking gear. You know, the stuff your ISP uses to connect you to the rest of the internet. If you think downloading a binary opens you up to MITM any more than downloading an HTML file, then you don't know enough about network security.
It's similar to SSL, only much more so.
Huh? SSL stands for Secure Socket Layer, it's a secure transfer protocol which encrypts the data it sends. Ubuntu repositories operate over HTTP, which stands for HyperText Transfer Protocol. Notice anything? No "secure" in there at all, because it is NOT secure. HTTPS is a secure protocol, it actually uses SSL to make it secure, but ubuntu repositories don't use it. How the hell is using an insecure protocol more secure than a secure protocol? That doesn't even make sense man.
Source-based distros are essentially a collection of scripts like that. The difficulty would be making a script that works on every distro, which is why it's generally left to the distro. Essentially, what you're describing is like a Gentoo package, and if you can make a Gentoo package, why not make a package for Ubuntu?
And again, I can't remember the last time I had a library version issue, so having to./configure && make && make install isn't really more difficult to me than clicking next a bunch.
And again, this is the fallback when it isn't actually in the repository.
All this, I know. You are clearly not understanding my gripe. Repositories are fine, in fact a smart way to manage software. But the repositories don't have everything, and for everything that is not in the repository installation sucks. Why the hell should I have to make a Gentoo package for Ubuntu? I just want to install the damn software. In Windows and OSX such packages are standard. Why do they have to be the rare exception in Linux? If a Gentoo package really is the answer, why doesn't everyone who does not put their software into a repository build a Gentoo-style package? Are Linux developers just lazy? I honestly have never built a Linux application that can then be configured, compiled, and installed, but it seems to me the work is 80% finished, why not go the other 20% and package it all up in a simple install?
Hell, a stupid little script that peeked inside a tarball and said "Hey, that's an application!" and popped up a little window that said "This is an application package, would you like to configure and install it?" would be brilliant, easy, and pretty much universal. The configure/compile/install is universal, why isn't there a wrapper for that that takes it to the next level?
And again, I don't care when the last time you had library issues, I remember the last time I had library issues, and it was for a program that I really wanted to use - mainly just to show of what Linux could do, and I was extremely dissappointed. This was coming off spending a month fixing my sound problems, and it was pretty much the straw that broke the camel's back.
Of course I -could- have fixed the problem, anything is fixable in Linux given enough time and effort. I was just sick and tired of putting in all that effort all the time for basic stuff. The hard stuff worked just fine, it was the stupid little stuff that was killing me and I just got sick of it. The software installation was not what made me dump Linu
Alright, asshole, you ARE a troll, but I'll feed you anyway. Here's my life story as it relates to Linux:
About 10 or 12 years ago I purchased - yes PURCHASED - a copy of Red Hat linux to play with. It came in a neat little 3 CD package with the neat little penguin logo all over it. I installed it fine, played around with it, but ultimately didn't have much use for it. I was in my early teens and was into gaming, and if WINE existed (I think it did, actually, I just never used it) it didn't work with any of the games I wanted to play, so I switched back to Windows 98. "Switching back" is a bit of a misnomer, because I installed it as a dual-boot and just slowly stopped running Linux.
Fast forward a few years, I re-installed Linux a time or two to play around but nothing serious until I had a college class in Linux. It was a breeze, as those introductory classes are, got to see Knoppix in action and my interest in Linux was re-kindled. This time I used Fedora, as Red Hat recently split into paid for and free versions. Again, I liked it, used it for a while, but ultimately went back to XP because it was just easier to do everything I wanted to do.
About two years ago, I bought a new laptop which came with Vista. I used it for a while, wanted to give it a fair shake but I had some philosophical differences with the way MS did things in this version of Windows. What really did it for me though, was the fact that Vista would not properly recognize my USB mouse, and finally one day it stopped recognizing the keyboard attached to my laptop. I was pissed, it was unacceptable, and I immediately installed Ubuntu over Vista. After some hickups with getting wireless to work, I was happy.
The problems started when I began branching out and installing new softwares. Some stuff didn't work with my sound setup, I think I was trying to get Skype to work right. Some futzing around and it worked, but now Rythmbox didn't work, and I used Rythmbox ALL THE TIME. It took a buttload of research including delving into the state of the art in Linux sound ("state of the art" is a real stretch) before discovering the only sound mixer that will work with everything is Alsa, and you can't run more than one sound app at a time. WTF? Ok, whatever, it worked. Getting all the video to work correctly was annoying as well. What did me in was speech recognition. I wanted to show a friend of mine that Linux could do everything her Mac could do, it just took a little more effort was all. To my extreme dissapointment the only voice recognition I could find was very outdated and wouldn't install on my machine. There is a way to make it work, but I wasn't interested in doing even more work to make something work that, on a Windows box would be a simple double-click install.
THE reason I switched back to Vista was software installation. In Windows, the sound mixer problem would have probably been fixable with a simple re-install of the proper mixer. I didn't like the fact that certain programs could be dependant on certain mixers, but there were reasons for it, so whatever. Installing an outdated app, like that voice recognition app, usually works in windows, and you don't have to jump through many hoops. Granted, some don't, but most of the applications that don't work are huge, expensive, extremely custom business applications that I'll never use. Since Vista had had a year (since I'd used it) and a couple of service packs had been issued, it was safe to switch back. And you know what? Everything works just fine and dandy. Some things are pretty slick, some things a little annoying, but nothing is as difficult as the daily use of a Linux box.
That there is my story, much abridged, but that's the gist of it. If you don't believe it, well up yours too.
Looking through my downloads folder on windows, I have 100s of exes and zips/rars, but only maybe 10 or so MSIs (Apache, Steam, Quake live, TortoiseSVN, Handbrake), clearly their use is far from universal (are the tools required to produce them expensive?)
Most everything commercial now-days will be in the form of an MSI, unless it's an older program with a semi-custom install mechanism that the author hasn't bothered to update.
The basic tools are free, Microsoft used to ship the MSI package builder with versions of Windows Server for a while, I know they passed it off to another company for a while. I'm not sure if they took it back or what, but there are a number of free tools to build and edit MSI packages. As MSI's are now the standard MS method of installing apps, Visual Studio has MSI building capabilities built in, as do a number of other IDE's. There are a plethora of commercial apps that go beyond MS's tools.
The most common way to build an MSI for a dev environment without the capability built in is to take a snapshot of the machine before the app is installed, install it via your normal, oldschool method, then take a snapshot of it afterwards. The MSI is built based on the differences, and it catches everything an application will use that is not included in the base install. Naturally this means you need a very clean install of Windows to start, but the process is simple.
An apt-url is a URL to a package that is already in the repository, which means at least there's some minimal assurance that someone associated with Ubuntu or Canonical has looked at it, and some strong assurance that it hasn't been modified since then.
That's half my gripe. This is OSS and Linux, it's supposed to be all about choice, but the answer is to trust some corporation who, frankly, I don't know much about? Honestly?
And if it's easy to get in to Universe, you're security argument is out the window because it won't be hard to fool whover is checking the software as it comes in. It's sort of a catch-22, it's very difficult to make it easy enough for everyone to use and still be very secure. That's the problem with the iPhone, and security is critical for their platform. If it is really as easy to get an app into Universe as you suggest, then all your security amounts to is that it feels good that someone looked at it once. It's not even worth as much as putting an app's name through google to see if anybody is screaming "Virus!" or "Spyware!". A repository should never replace safe software habits, and you're reducing your security if you solely rely on Canonical to keep you safe.
Well, no, it's just gotten harder. Generally, you can pass an argument to./configure to tell it where to find headers, and there can easily be multiple versions of a library installed -- that's why the.so files have version numbers on them.
You're making my point for me with this one. That it is more difficult does not improve security. This has been proven time and time again. What improves security is being aware of what you are installing and where it comes from. Why isn't there a script that takes care of the./configure, make, and install, and deals with any library version issues for me? That's essentially what MSI does, it does not bloat the install like you seem to think, libraries are small and the MSI carries them with it, so if it needs one it can install it.
What I want is essentially what I just described - I want a scripted container that holds the entire package, and when run it does the configure, make, and install all at once. It should be able to recognize and correct dependancy issues on the fly. MSI does this. DMG does this. Linux should be able to do this.
Except, not in this way. The reason this is "easy" is because it follows a familiar Windows model -- just download it -- and removes the step of "run an installer".
The reason it is easy is because *drumroll* IT'S EASY!!! Are you honestly trying to suggest that double clicking an install file or dragging and dropping an install file is somehow only easier than the mess of configure/make/compile simply because it is familiar? Really? Now you're just not being intellectually honest.
That is: There's a shitload of software out there that chooses not to work with it.
Wrong, they choose not to use the particular software distribution method of your particular distro, and there are a dozen out there so you can hardly blame them.
And some registry hacks. And some things you may have to manually compile. And a third-party tweak to make it work in Vista or Win7.
Bullshit. If the app in question does not use an install package, then it is completely self contained. At most it will use some files within its own directory. If you need to make registry hacks or install new DLLs to make it work, it means you are copying it directly from an install folder which was created via an installer at some earlier point. That means you are either pirating it, or you lost your install disk/file. In either case, you're a dumbass and it's no fault of Windows you have to potentially ruin your machine to get the software to work. I don't know WHAT the fuck you're doing if you have to compile parts of the app. That happens in Linux, not Windows.
You're right that Windows is more unified. You're wrong that this is somehow the fault of Linux, or the distro, or some lack of functionality.
I never said it was the fault of Linux, but it is definitely a lack of functionality and it is definitely the fault of the Linux community.
Have you ever tried to install a Windows app and found there's no exe, or msi?
Honestly? No. Never. And I've been a Windows user since 3.1 and Dos, you know, back when it was like "Oh neat, a GUI! Now, lets close that and get to a command line so we can actually do stuff."
And the right way to deal with it is to go bother the app in question, not post pointless rants on Slashdot about how "Linux" is broken. It's a bit like saying Windows is broken because of identity theft.
No, the right way to deal with it is come up with a simpler way to install packages without requiring the approval of your favorite corporate repository owner. I sure as hell am not going to do that though, I just switched back to Windows and saved myself the effort.
Getting all defensive about how a flaw in the useability of Linux should not be fixed for some stupid reason or another is one of the reasons the Linux is still not mainstream. I am a very technical computer user, but I'm also not into torturing myself or doing more work than I need to just to use my damn computer. If -I- have a problem with using Linux, you can bet your ass the vast majority of non-technical users will have a problem using it as well.
The problem is people don't use them, or whoever wrote the program only used one or the other. It is certainly better if the author bothered to package it in one or the other, but Linux geeks are so used to.configure && make && install that they don't bother to do the extra step and package it for a less technical user.
I'm just fine compiling a program, when it works anyway. I just think it's stupid that I need to. If you think that's where Linux gets its security, you're kidding yourself.
How is this post a Troll? I've used Linux off and on for years, these aren't talking points or even linux bashing, this an honest critique from a former Linux user.
Installing non-repository software is one of a couple reasons I switched back to Vista (after having a horrible experience, naturally). Fortunately for me, in the year I used Linux as my desktop, Vista improved significantly. It would take quite a bit to get me to switch back now.
For heaven's sake, it's 2009, why am I downloading and executing random, untrusted binaries from the Internet as the standard way to install software on Windows?
Is it really any different clicking on an apt-url from some unfamiliar website? What about legitimate authors who didn't jump through the hoops to get their software into all the various repositories and packaging systems? Should they not be trusted simply because they didn't sign up with Canonical? Is that really the way you want all your Linux installs to be done? Through some Corporate machine that approves and certifies everything? If not, what's the difference between double clicking an MSI and.configure && make && install? If you aren't going to check out whether or not a package is harmful, you aren't going to check out whether or not the package is harmful. Making it harder to install software is not a form of security, it's just inconvenient and less usefull.
Where I think you're confused is the library dependencies. Generally, when I download the source package, they'll also give me a list of '-dev' packages I need to install on Ubuntu.
All those -dev packages? Those are libraries that need to be on your Linux box in order to make the program. If, for some reason, the program you are trying to install cannot use a newer version of a library and you need that library for other software, you're quite thoroughly fucked.
And it's a hell of a lot easier to do than trying to compile something on Windows.
Why the hell would you compile someone else's program in Windows? Unless you were contributing to an OSS project, then, well, you have to deal with it as you are in the extreme minority. EXTREME minority. It's hardly something you can hold against Windows, because software is not distributed that way in Windows.
And dependencies. And reverse-dependencies. And automatic updates. And third-party repositories.
MSI and DMG files have dependancies built in. There is nothing extra to install, it's all in there. Updates are a single extension file (with MSI files anyway). It's so simple you don't need repositories, but you could build one with a simple database if you wanted to.
The absolute worst any modern desktop user has to do is run some commands -- that is, copy and paste something from a website into a commandline.
Which is infinately more complicated than double clicking a scripted install package, and does not always work. I know, because a package I wanted I simply could not install because the dependancies it wanted were older than the ones I needed on my system, and it would not accept the newer packages. It was not a common app, there was nothing like it in the repository, and I could not find an alternative.
What would you suggest for me now? Got any more commands that will magically fix a retarded install method?
Somehow, I don't think that this is The One Thing(TM) that is holding Linux back. I'm going to say it's instead the lack of applications, the less-than-perfect Wine, the fact that it's unfamiliar, and the fact that most people aren't getting it preloaded.
Of course it's not The One Thing(TM) holding Linux back, you'd have to be an idiot to think that. But you've got to have your blinders on pretty tight not to see that it would definitely improve the situation for Linux on the desktop.
That it is unfamiliar is a copout - OSX was unfamiliar and it is the most popular form of Mac yet, and it has been steadily eating into MS's market share for years now. Linux has not. Vista was unfamiliar, and it was even extremely flawed at first, but it still does better than Linux because it is easier to use in spite of itself.
Linux fails because it is difficult to use. Period. All the other stuff can be worked around, ease of use cannot be. Very few
Both of which may be commonly used within various distributions and repositories, but stand-alone linux software does not use them, not that I've seen anyway. It's still the incredibly painful make/install combo.
What I'm talking about is something like DMG files for Macs or MSI files for Windows. Nice and easy fall back install.
Much like people downloading exes from all over the place now then, and being lucky if its a nice installer you can remove with add/remove programs. Using the central package manager to manage software installs would be a step up from what we have with windows now.
The current standard in Windows is the MSI package - a fully self-contained script and container that holds all the necessary install files. Not many people use Wise or InstallShield any more, as MSI ties in to Add/Remove Programs, and includes Repair functionality. A repair or uninstall can be run from the MSI itself or from Add/Remove Programs. Downloading apps is a one-file affair, and installing is a double-click.
Seriously, I think you've been brainwashed a bit by the Apple flashiness. Think about what's going on here:
Click download link Open DMG file Drag app from DMG to Applications Drag DMG drive to trash Drag DMG file to trash Empty trash
That's the hard way. The easy way is:
1. Click download link 2. Drag DMG file to Applications
In Windows, it's: 1. Click download link 1.5. Click banner to allow download (only if you use IE and have your security settings set that way) 2. Click "ok" to any security popups 2.5 Enter admin password (only if the app is not following current MS best-practices for installing software)
It's between two and four steps, tops, in Windows.
And in Linux:
1. See there is no apt-url link - curse (shit is common here) 2. Search repository - curse again (often it escalates to fuck or some variation) 3. Download tarball 4. Create empty directory to extract tarball into 5. Extract tarball 6. Open terminal 7. Navigate to the directory containing the compile scripts - curse because the tarball made a new directory with a ridiculous name 8. Make the install with sudo, crossing your fingers that everything works as intended* 9. Install the software with sudo (easier the second time you use it)**
* A problem here and it can take 10 minutes to a couple of hours of troubleshooting to fix, may require knowledge of scripting
** A problem here and you may be fucked, unless of course you wish to re-write parts of the app that failed
This scenario does not exist for OSX or Windows, but there is a lot of Linux software on SourceForge for which this scenario applies. Unless you only ever install software that Canonical approves you will eventually run into this problem, and doesn't that kind of defeat the purpose of running Linux on the desktop? Isn't the whole point being free of what some corporation (evil or no) thinks you should use? The fact is, in the long run you're more free to install the software you want from whoever you want on a Windows box than on a Linux box, and that's just plain sad.
In other words, the reason there isn't the "Linux equivalent to the DMG file" is because what we have actually is better, and easier to use, when it works.
That's my whole point, there is a shitload of software out there that it does not work for. With Windows, there is no insane install method for people who aren't tied to whatever corporate install scheme (aka repositories) a particular distro uses.
Worst case scenario for Windows is a zipped directory with some shortcuts to place on the desktop. Drop it into your program files and move the shortcuts over, and you're done. Nothing that can break.
Installs from repositories are fine, but there are a lot of interesting apps that never make it into repositories. For these you must compile them yourself, which can be flaky for one thing and for another the whole idea that you must compile it yourself is ridiculous. I'm actually a little bitter about it because there was a really cool sounding app I wanted to try, which had no equivalent that I could find, which I couldn't install because it required outdated libraries. Developement had apparently stalled and there were no upgrades to be coming any time soon. I wanted it because it was very similar to an app on a friend's Mac, and I wanted to show off Linux. Well, I didn't get to show off Linux because Linux couldn't do it, at least not on my setup.
Why doesn't linux have something like OSX's.dmg install files? Those are dead simple to use, so easy I tend to use them the "hard" way (by double-clicking and running instead of dragging and dropping into the apps folder) because I'm used to Windows installs.
All Linux really needs is program that builds one-click (or drag and drop, if you want to be fancy) install packages from the make/install scripts on the app writer's machine. Keep a copy of each necessary library (or even better just the portion of the library that the program uses) inside the package so there will never be an install issue, and make it easy for the app writers and the users both to use.
You've got to be one shitty tech/admin if you think the answer to performance problems is to re-format and re-install. Holy shit that's drastic! And completely unnecessary!
You know you CAN clean Windows machines rather easily, it comes with several tools that do it for you. Running a CheckDisk and Defrag will take care of probably 80% issues, with the last 20% dominated by bloated profile issues. CheckDisk and Defrag will take 20-30 minutes, and can be scheduled to run one after the other so you don't have to babysit it. You can check the profile problem by either making or keeping a fresh, unused profile and seeing how it runs under that. Chances are if your normal profile is bloated this new profile will be lightning fast. Clean up the profile or just start with a fresh one and move your documents and such over.
This whole process shouldn't take more than an hour or so. A messy registry rarely results in poor performance. Even at its most bloated it is only one or two megs in size, which is nothing, and is very quick to search and so not very likely to be your problem. If you think it is, there are a plethora of free cleaning tools (my favorite is CCleaner, formerly crap cleaner).
Even if you have yourself set up with a clean image to install from, backing up and migrating data can be quite a hassle, and is overkill unless the simple fixes for whatever reason did not take care of the problem.
That would be great, if it had anything I wanted in it.
I think I installed two or three apps, tops, out of Add/Remove. It's nearly useless IMO.
Wait until you have a problem with a library when you're making/installing an app, and it's a library that generally needs to be an older version (why wasn't it backwards compatible? who knows?), which is impossible because you have other apps that require the newer version.
You pretty much can't use the app at all unless you're into re-writing the code for it. Great user experience there.
There are a shitload of applications out there that do not exist in either, and if you want them they suck monkey testicles to install. For any non-scripter/programmer eyes glaze over and drooling begins before deciding they need to switch back to Windows. For anybody who thinks it's ridiculous to have so many packages that are essentially unfinished compared to the same level of Windows packages, it's often unacceptable and they switch back to Windows.
Honestly, software installation is probably a good reason for desktop users to stay away from Linux. You can't just browse the web, see an app you like, click it and install it. You've got to check the repository first, and hope it's there since that's the easiest way to install it. If not, you can download the tarball and pray all your libraries match up to what the app needs when you compile it (why the hell does the binary need to be compiled on each machine? That should only be necessary when changing architectures!). If they don't, you're shit out of luck. There is no recourse other than complaining to the developer and waiting, hoping they fix something.
What linux needs is a unified installation package. Something easy that maybe needs to be installed once but after that everything installs in a simple, one-click fashion. You know, like Windows has had in some form or another for over a decade now.
Except anything not in the repository (and there is a shitload) is a serious pain in the ass to install. Windows beats Linux here because installing software is so simple, and has been so simple for years, that a repository has never been necessary. Why would anybody develop a repository when all you have to do is Google it, clicky click the pretty blue link, and lo and behold it's installed (ignoring the plethora of security checks of course, making sure you really meant to install that piece of software).
Despite how easy the repository system is, Windows software installation is still miles ahead of Linux. Especially with.msi installs, way beyond anything I could find in Linux. And I looked, because it annoyed the hell out of me.
My problem with the repository system is there is a ton of stuff that is not in the repository. If you want it, it can be a pain in the ass to get it.
For heaven's sake, it's 2009, why the hell do I have to friggin compile every damn piece of software that isn't in a repository? Windows figured this out decades ago, if you're compiling it into a binary, why do you need to compile it in the first place?
Granted, that last statement shows a little ignorance of the way Linux works, but seriously, why hasn't the Linux community come up with a simple install script/storage container that packs all the dirty stuff into one neat little package for easy distribution? As it is now you have to dump a tarball into directory, run a few scripts while crossing your fingers that all your libraries match up, then make the binary. If something goes wrong and you don't have the time or knowledge to fix the scripts then you're stuck. It's bullshit.
As wonderful as the repository idea is - frankly I love that everything is right at your fingertips - it is completely unnecessary with Windows, because Google works just fine as a repository. Click the link and you're installing the program, no mess no hassle. And if you wanted to set up a repository, it would not be hard, it would be little more than a database of.msi files, which install automatically.
Frankly, some kind of unified one-step scripted install structure, preferably all in a single container, that actually worked as intended would catapult linux on the desktop by leaps and bounds. It would make so many things easier. Developers would have to use it, though, or it would have to be dead simple to convert current asinine scripted installs to it, else there won't be packages for it and the whole thing would be dead before it started.
Service packs once every year or two (at the most) vs new kernels every 3 months? Which is worse, honestly?
Just an addendum, but I think I know how they got the 25% working printers figure for Linux.
The top printer brands are Canon, Epson, HP, and Lexmark.
Fully half of Lexmark printers either barely work or are paperweights. Only about 1/4 of Lexmark printers work correctly.
HP is not as bad, about half of their printers work correctly, and only a handfull work partially or not at all.
Epson about 1/3 work correctly and another 1/3 work partially or not at all.
Canon less than 1/4 work correctly, and close to half work partially or not at all.
These are just eyeball guestimates, but these are the four most popular brands in the world, and the Linux support is shitty. Throw in brands like Xerox or Sharp and it's even worse. Basically, if you buy a popular printer it will probably not work completely correctly, and you've got a good chance of it not working at all.
They say "Linux is a self help solution. There are no step-by-step tutorials provided, and help documentation is limited.
These remarks are easily proven false, by demonstrating the large volume of step-by-step tutorials and help documentation that are available.
They are completely correct, actually. Vista attempts to fix any problems that come up automagically. Sometimes it fails, but for most things it works, and it is kind of impressive. It will even go so far as searching the MS knowlegebase for a solution and apply it if it finds one. Though when it does fail they tend to give you shit for troubleshooting codes, so I wouldn't say it is perfect by any stretch.
It is automatic though, and there sure as hell isn't anything automatic about fixing a problem in Linux. That's definitely not falsifiable. Man pages are shit, by the way, have you ever tried fixing a linux problem when you didn't have internet access and a wealth of personal Linux knowledge? I have, it sucks. Doable, but sucks.
This is easily falsifiable by showing the large number of printers that Linux drivers are available for, the small number that drivers are unavailable for. And also showing the large number of printers Linux has drivers for that don't work in Windows 7 / Vista.
This seems to tell a different story. You're statement is somewhat correct if you only look at printers listed under partially working, unknown, or paperweights. If you include all the printers that don't have 100% Linux support, the picture changes dramatically. Just a quick glance and I'd guess less than half of the printers on that list work correctly. The 25% figure is probably a stretch, and they may be intentionally using an old figure, lying bastards that they are, but it still does not paint a pretty picture for Linux when Vista supports 99% of these. Printers that don't work in Vista / Windows 7 are few and far between. Not so for Linux. There is a reason for that, and it's stacked in MS's favor, but that doesn't change what reality is.
That contradicts your mention of a zipfile.
Umm.. how? Granted, it's a step more than an MSI file, but if your installer is in a Zip file, you open it and run it. Almost as easy as it gets. If there is no executable period, there is no program, and no matter what OS you use if you can't get a binary somehow the app won't run.
Who said anything about "corporate"?
Ubuntu is corporate. It is created and maintained by Canonical, a corporation. That's pretty much the definition of corporate. Community involvement is great, but it's still corporate. As is Fedora and Red Hat and Debian. The only non-corporate way to install software is also non-repository based. Repositories are pretty much the only easy way to install software in Linux, relatively speaking config/compile/install is a nightmare. It's not really that bad when it works correctly, but why is it even necessary? 90% of the time you're just entering the same three commands, why isn't there a wrapper for that that runs it straight from the tarball on your desktop? That's all I'm really talking about here. Something that automatically delt with library versioning would be great, but you can run into library issues in Windows and Mac as well, so that wouldn't be a knock against Linux.
If -I- have a problem with using Linux, you can bet your ass the vast majority of non-technical users will have a problem using it as well.
Sounds good. Except it's also arrogant and wrong.
When I mention "driver" to someone and they give me a funny look and say "What's a driver?", do you really think they will have an easy time of using Linux? Frankly, the non-technical person who manages to get along just fine in Linux either uses the basic setup and nothing more, or has someone who is a Linux expert behind them helping them out whenever they have an issue. This will be a rare case. Seriously. I work with non technical people all the time (all day long in fact until I started working with a process engineering group, MUCH easier to work with), and you'll spend 20 minutes just trying to get them to open a terminal so you can give them the commands to fix whatever issues they have that cannot be fixed via the GUI.
The vast majority of non-technical users don't need to be downloading random pieces of software from the Internet, and are better off not doing so. They like the App Store for the iPhone, so I don't see how add/remove programs on Ubuntu is worse.
What you think someone should or should not be allowed to do is irrelavent and imposing that on others frankly goes against the whole Linux and free software philosophy. Add/Remove programs is not worse than anything, it is just fine. In fact I like it a hell of a lot better than add/remove programs in Windows. But it is incomplete. It does not have even remotely near everything a person might want to install, and if you don't think the average joe has obscure interests and wants to install some software for some strange but harmless purpose or another, you are sadly misinformed. More than likely this software will not be in Add/Remove programs, but it may have been written by some strange geek who oddly enough has the same odd interest but also writes Linux programs as a hobby. This will be provided in what appears to be the Linux standard - the tarball. Except the tarball can be a pain in the ass to setup sometimes, and even when it works just fine Average Joe will probably have a hard time figuring out how to do it correctly.
Why is there not an easy wrapper to install these tarballs?
You have a harder time because you try to do more with your computer than the average non-technical user needs.
No, I don't. My personal computer I keep relatively simple. Voice recognition software is definitely within the realm of what a non-technical user will play with, and that's exactly the software that pissed me off.
Har har, but to a degree you are absolutely correct.
I want to use my computer to do stuff, not spend all day trying to figure out why ./configure failed, then figure out why make failed, and of course whatever abomination came out of the make is never going to install correctly. Yeah, I can work around it and make it work, but I don't think I should have to. I do that kind of shit at work, I don't want to do it at home too when all I'm trying to do is use my wireless internet, or listen to music and open a video up at the same time, or play around with some voice recognition software.
If all I want to do is install a piece of software, why should I have to jump through hoops to do it? Is it really that difficult to take the configure/compile/install process and package it up into one step? Everybody else can do it, why can't the Linux community?
You missed the part about the Unix philosophy, which is "Do one thing, and do it well". It browses the web, apparently very very well. But storing cookies for later use isn't really browsing, now, is it? Neither are favorites or bookmarks or history and all that. If you want that stuff, you have to write scripts for it.
Neat idea, I'd never use it though. Too lazy.
For example: Suppose I want to install Firefox. I know about Firefox already, and I know I trust it. On Windows, I would have to go to mozilla.com and download a binary -- which opens me up to a MITM attack, or to someone having compromised mozilla.com, or me mistyping the name, etc etc.
Linux is no more secure from a man in the middle attack than windows, no matter what you might think. The attack happens outside the OS, and the repository your Linux machine is no less vulnerable than a web browser in Windows. In fact, IE and FireFox both attempt to detect such attacks, as does most high-end networking gear. You know, the stuff your ISP uses to connect you to the rest of the internet. If you think downloading a binary opens you up to MITM any more than downloading an HTML file, then you don't know enough about network security.
It's similar to SSL, only much more so.
Huh? SSL stands for Secure Socket Layer, it's a secure transfer protocol which encrypts the data it sends. Ubuntu repositories operate over HTTP, which stands for HyperText Transfer Protocol. Notice anything? No "secure" in there at all, because it is NOT secure. HTTPS is a secure protocol, it actually uses SSL to make it secure, but ubuntu repositories don't use it. How the hell is using an insecure protocol more secure than a secure protocol? That doesn't even make sense man.
Source-based distros are essentially a collection of scripts like that. The difficulty would be making a script that works on every distro, which is why it's generally left to the distro. Essentially, what you're describing is like a Gentoo package, and if you can make a Gentoo package, why not make a package for Ubuntu?
And again, I can't remember the last time I had a library version issue, so having to ./configure && make && make install isn't really more difficult to me than clicking next a bunch.
And again, this is the fallback when it isn't actually in the repository.
All this, I know. You are clearly not understanding my gripe. Repositories are fine, in fact a smart way to manage software. But the repositories don't have everything, and for everything that is not in the repository installation sucks. Why the hell should I have to make a Gentoo package for Ubuntu? I just want to install the damn software. In Windows and OSX such packages are standard. Why do they have to be the rare exception in Linux? If a Gentoo package really is the answer, why doesn't everyone who does not put their software into a repository build a Gentoo-style package? Are Linux developers just lazy? I honestly have never built a Linux application that can then be configured, compiled, and installed, but it seems to me the work is 80% finished, why not go the other 20% and package it all up in a simple install?
Hell, a stupid little script that peeked inside a tarball and said "Hey, that's an application!" and popped up a little window that said "This is an application package, would you like to configure and install it?" would be brilliant, easy, and pretty much universal. The configure/compile/install is universal, why isn't there a wrapper for that that takes it to the next level?
And again, I don't care when the last time you had library issues, I remember the last time I had library issues, and it was for a program that I really wanted to use - mainly just to show of what Linux could do, and I was extremely dissappointed. This was coming off spending a month fixing my sound problems, and it was pretty much the straw that broke the camel's back.
Of course I -could- have fixed the problem, anything is fixable in Linux given enough time and effort. I was just sick and tired of putting in all that effort all the time for basic stuff. The hard stuff worked just fine, it was the stupid little stuff that was killing me and I just got sick of it. The software installation was not what made me dump Linu
Alright, asshole, you ARE a troll, but I'll feed you anyway. Here's my life story as it relates to Linux:
About 10 or 12 years ago I purchased - yes PURCHASED - a copy of Red Hat linux to play with. It came in a neat little 3 CD package with the neat little penguin logo all over it. I installed it fine, played around with it, but ultimately didn't have much use for it. I was in my early teens and was into gaming, and if WINE existed (I think it did, actually, I just never used it) it didn't work with any of the games I wanted to play, so I switched back to Windows 98. "Switching back" is a bit of a misnomer, because I installed it as a dual-boot and just slowly stopped running Linux.
Fast forward a few years, I re-installed Linux a time or two to play around but nothing serious until I had a college class in Linux. It was a breeze, as those introductory classes are, got to see Knoppix in action and my interest in Linux was re-kindled. This time I used Fedora, as Red Hat recently split into paid for and free versions. Again, I liked it, used it for a while, but ultimately went back to XP because it was just easier to do everything I wanted to do.
About two years ago, I bought a new laptop which came with Vista. I used it for a while, wanted to give it a fair shake but I had some philosophical differences with the way MS did things in this version of Windows. What really did it for me though, was the fact that Vista would not properly recognize my USB mouse, and finally one day it stopped recognizing the keyboard attached to my laptop. I was pissed, it was unacceptable, and I immediately installed Ubuntu over Vista. After some hickups with getting wireless to work, I was happy.
The problems started when I began branching out and installing new softwares. Some stuff didn't work with my sound setup, I think I was trying to get Skype to work right. Some futzing around and it worked, but now Rythmbox didn't work, and I used Rythmbox ALL THE TIME. It took a buttload of research including delving into the state of the art in Linux sound ("state of the art" is a real stretch) before discovering the only sound mixer that will work with everything is Alsa, and you can't run more than one sound app at a time. WTF? Ok, whatever, it worked. Getting all the video to work correctly was annoying as well. What did me in was speech recognition. I wanted to show a friend of mine that Linux could do everything her Mac could do, it just took a little more effort was all. To my extreme dissapointment the only voice recognition I could find was very outdated and wouldn't install on my machine. There is a way to make it work, but I wasn't interested in doing even more work to make something work that, on a Windows box would be a simple double-click install.
THE reason I switched back to Vista was software installation. In Windows, the sound mixer problem would have probably been fixable with a simple re-install of the proper mixer. I didn't like the fact that certain programs could be dependant on certain mixers, but there were reasons for it, so whatever. Installing an outdated app, like that voice recognition app, usually works in windows, and you don't have to jump through many hoops. Granted, some don't, but most of the applications that don't work are huge, expensive, extremely custom business applications that I'll never use. Since Vista had had a year (since I'd used it) and a couple of service packs had been issued, it was safe to switch back. And you know what? Everything works just fine and dandy. Some things are pretty slick, some things a little annoying, but nothing is as difficult as the daily use of a Linux box.
That there is my story, much abridged, but that's the gist of it. If you don't believe it, well up yours too.
Looking through my downloads folder on windows, I have 100s of exes and zips/rars, but only maybe 10 or so MSIs (Apache, Steam, Quake live, TortoiseSVN, Handbrake), clearly their use is far from universal (are the tools required to produce them expensive?)
Most everything commercial now-days will be in the form of an MSI, unless it's an older program with a semi-custom install mechanism that the author hasn't bothered to update.
The basic tools are free, Microsoft used to ship the MSI package builder with versions of Windows Server for a while, I know they passed it off to another company for a while. I'm not sure if they took it back or what, but there are a number of free tools to build and edit MSI packages. As MSI's are now the standard MS method of installing apps, Visual Studio has MSI building capabilities built in, as do a number of other IDE's. There are a plethora of commercial apps that go beyond MS's tools.
The most common way to build an MSI for a dev environment without the capability built in is to take a snapshot of the machine before the app is installed, install it via your normal, oldschool method, then take a snapshot of it afterwards. The MSI is built based on the differences, and it catches everything an application will use that is not included in the base install. Naturally this means you need a very clean install of Windows to start, but the process is simple.
An apt-url is a URL to a package that is already in the repository, which means at least there's some minimal assurance that someone associated with Ubuntu or Canonical has looked at it, and some strong assurance that it hasn't been modified since then.
That's half my gripe. This is OSS and Linux, it's supposed to be all about choice, but the answer is to trust some corporation who, frankly, I don't know much about? Honestly?
And if it's easy to get in to Universe, you're security argument is out the window because it won't be hard to fool whover is checking the software as it comes in. It's sort of a catch-22, it's very difficult to make it easy enough for everyone to use and still be very secure. That's the problem with the iPhone, and security is critical for their platform. If it is really as easy to get an app into Universe as you suggest, then all your security amounts to is that it feels good that someone looked at it once. It's not even worth as much as putting an app's name through google to see if anybody is screaming "Virus!" or "Spyware!". A repository should never replace safe software habits, and you're reducing your security if you solely rely on Canonical to keep you safe.
Well, no, it's just gotten harder. Generally, you can pass an argument to ./configure to tell it where to find headers, and there can easily be multiple versions of a library installed -- that's why the .so files have version numbers on them.
You're making my point for me with this one. That it is more difficult does not improve security. This has been proven time and time again. What improves security is being aware of what you are installing and where it comes from. Why isn't there a script that takes care of the ./configure, make, and install, and deals with any library version issues for me? That's essentially what MSI does, it does not bloat the install like you seem to think, libraries are small and the MSI carries them with it, so if it needs one it can install it.
What I want is essentially what I just described - I want a scripted container that holds the entire package, and when run it does the configure, make, and install all at once. It should be able to recognize and correct dependancy issues on the fly. MSI does this. DMG does this. Linux should be able to do this.
Except, not in this way. The reason this is "easy" is because it follows a familiar Windows model -- just download it -- and removes the step of "run an installer".
The reason it is easy is because *drumroll* IT'S EASY!!! Are you honestly trying to suggest that double clicking an install file or dragging and dropping an install file is somehow only easier than the mess of configure/make/compile simply because it is familiar? Really? Now you're just not being intellectually honest.
That is: There's a shitload of software out there that chooses not to work with it.
Wrong, they choose not to use the particular software distribution method of your particular distro, and there are a dozen out there so you can hardly blame them.
And some registry hacks. And some things you may have to manually compile. And a third-party tweak to make it work in Vista or Win7.
Bullshit. If the app in question does not use an install package, then it is completely self contained. At most it will use some files within its own directory. If you need to make registry hacks or install new DLLs to make it work, it means you are copying it directly from an install folder which was created via an installer at some earlier point. That means you are either pirating it, or you lost your install disk/file. In either case, you're a dumbass and it's no fault of Windows you have to potentially ruin your machine to get the software to work. I don't know WHAT the fuck you're doing if you have to compile parts of the app. That happens in Linux, not Windows.
You're right that Windows is more unified. You're wrong that this is somehow the fault of Linux, or the distro, or some lack of functionality.
I never said it was the fault of Linux, but it is definitely a lack of functionality and it is definitely the fault of the Linux community.
Have you ever tried to install a Windows app and found there's no exe, or msi?
Honestly? No. Never. And I've been a Windows user since 3.1 and Dos, you know, back when it was like "Oh neat, a GUI! Now, lets close that and get to a command line so we can actually do stuff."
And the right way to deal with it is to go bother the app in question, not post pointless rants on Slashdot about how "Linux" is broken. It's a bit like saying Windows is broken because of identity theft.
No, the right way to deal with it is come up with a simpler way to install packages without requiring the approval of your favorite corporate repository owner. I sure as hell am not going to do that though, I just switched back to Windows and saved myself the effort.
Getting all defensive about how a flaw in the useability of Linux should not be fixed for some stupid reason or another is one of the reasons the Linux is still not mainstream. I am a very technical computer user, but I'm also not into torturing myself or doing more work than I need to just to use my damn computer. If -I- have a problem with using Linux, you can bet your ass the vast majority of non-technical users will have a problem using it as well.
The problem is people don't use them, or whoever wrote the program only used one or the other. It is certainly better if the author bothered to package it in one or the other, but Linux geeks are so used to .configure && make && install that they don't bother to do the extra step and package it for a less technical user.
I'm just fine compiling a program, when it works anyway. I just think it's stupid that I need to. If you think that's where Linux gets its security, you're kidding yourself.
How is this post a Troll? I've used Linux off and on for years, these aren't talking points or even linux bashing, this an honest critique from a former Linux user.
Installing non-repository software is one of a couple reasons I switched back to Vista (after having a horrible experience, naturally). Fortunately for me, in the year I used Linux as my desktop, Vista improved significantly. It would take quite a bit to get me to switch back now.
For heaven's sake, it's 2009, why am I downloading and executing random, untrusted binaries from the Internet as the standard way to install software on Windows?
Is it really any different clicking on an apt-url from some unfamiliar website? What about legitimate authors who didn't jump through the hoops to get their software into all the various repositories and packaging systems? Should they not be trusted simply because they didn't sign up with Canonical? Is that really the way you want all your Linux installs to be done? Through some Corporate machine that approves and certifies everything? If not, what's the difference between double clicking an MSI and .configure && make && install? If you aren't going to check out whether or not a package is harmful, you aren't going to check out whether or not the package is harmful. Making it harder to install software is not a form of security, it's just inconvenient and less usefull.
Where I think you're confused is the library dependencies. Generally, when I download the source package, they'll also give me a list of '-dev' packages I need to install on Ubuntu.
All those -dev packages? Those are libraries that need to be on your Linux box in order to make the program. If, for some reason, the program you are trying to install cannot use a newer version of a library and you need that library for other software, you're quite thoroughly fucked.
And it's a hell of a lot easier to do than trying to compile something on Windows.
Why the hell would you compile someone else's program in Windows? Unless you were contributing to an OSS project, then, well, you have to deal with it as you are in the extreme minority. EXTREME minority. It's hardly something you can hold against Windows, because software is not distributed that way in Windows.
And dependencies. And reverse-dependencies. And automatic updates. And third-party repositories.
MSI and DMG files have dependancies built in. There is nothing extra to install, it's all in there. Updates are a single extension file (with MSI files anyway). It's so simple you don't need repositories, but you could build one with a simple database if you wanted to.
The absolute worst any modern desktop user has to do is run some commands -- that is, copy and paste something from a website into a commandline.
Which is infinately more complicated than double clicking a scripted install package, and does not always work. I know, because a package I wanted I simply could not install because the dependancies it wanted were older than the ones I needed on my system, and it would not accept the newer packages. It was not a common app, there was nothing like it in the repository, and I could not find an alternative.
What would you suggest for me now? Got any more commands that will magically fix a retarded install method?
Somehow, I don't think that this is The One Thing(TM) that is holding Linux back. I'm going to say it's instead the lack of applications, the less-than-perfect Wine, the fact that it's unfamiliar, and the fact that most people aren't getting it preloaded.
Of course it's not The One Thing(TM) holding Linux back, you'd have to be an idiot to think that. But you've got to have your blinders on pretty tight not to see that it would definitely improve the situation for Linux on the desktop.
That it is unfamiliar is a copout - OSX was unfamiliar and it is the most popular form of Mac yet, and it has been steadily eating into MS's market share for years now. Linux has not. Vista was unfamiliar, and it was even extremely flawed at first, but it still does better than Linux because it is easier to use in spite of itself.
Linux fails because it is difficult to use. Period. All the other stuff can be worked around, ease of use cannot be. Very few
Both of which may be commonly used within various distributions and repositories, but stand-alone linux software does not use them, not that I've seen anyway. It's still the incredibly painful make/install combo.
What I'm talking about is something like DMG files for Macs or MSI files for Windows. Nice and easy fall back install.
Much like people downloading exes from all over the place now then, and being lucky if its a nice installer you can remove with add/remove programs. Using the central package manager to manage software installs would be a step up from what we have with windows now.
The current standard in Windows is the MSI package - a fully self-contained script and container that holds all the necessary install files. Not many people use Wise or InstallShield any more, as MSI ties in to Add/Remove Programs, and includes Repair functionality. A repair or uninstall can be run from the MSI itself or from Add/Remove Programs. Downloading apps is a one-file affair, and installing is a double-click.
I WISH Linux had something like MSI files.
Seriously, I think you've been brainwashed a bit by the Apple flashiness. Think about what's going on here:
Click download link
Open DMG file
Drag app from DMG to Applications
Drag DMG drive to trash
Drag DMG file to trash
Empty trash
That's the hard way. The easy way is:
1. Click download link
2. Drag DMG file to Applications
In Windows, it's:
1. Click download link
1.5. Click banner to allow download (only if you use IE and have your security settings set that way)
2. Click "ok" to any security popups
2.5 Enter admin password (only if the app is not following current MS best-practices for installing software)
It's between two and four steps, tops, in Windows.
And in Linux:
1. See there is no apt-url link - curse (shit is common here)
2. Search repository - curse again (often it escalates to fuck or some variation)
3. Download tarball
4. Create empty directory to extract tarball into
5. Extract tarball
6. Open terminal
7. Navigate to the directory containing the compile scripts - curse because the tarball made a new directory with a ridiculous name
8. Make the install with sudo, crossing your fingers that everything works as intended*
9. Install the software with sudo (easier the second time you use it)**
* A problem here and it can take 10 minutes to a couple of hours of troubleshooting to fix, may require knowledge of scripting
** A problem here and you may be fucked, unless of course you wish to re-write parts of the app that failed
This scenario does not exist for OSX or Windows, but there is a lot of Linux software on SourceForge for which this scenario applies. Unless you only ever install software that Canonical approves you will eventually run into this problem, and doesn't that kind of defeat the purpose of running Linux on the desktop? Isn't the whole point being free of what some corporation (evil or no) thinks you should use? The fact is, in the long run you're more free to install the software you want from whoever you want on a Windows box than on a Linux box, and that's just plain sad.
In other words, the reason there isn't the "Linux equivalent to the DMG file" is because what we have actually is better, and easier to use, when it works.
That's my whole point, there is a shitload of software out there that it does not work for. With Windows, there is no insane install method for people who aren't tied to whatever corporate install scheme (aka repositories) a particular distro uses.
Worst case scenario for Windows is a zipped directory with some shortcuts to place on the desktop. Drop it into your program files and move the shortcuts over, and you're done. Nothing that can break.
Installs from repositories are fine, but there are a lot of interesting apps that never make it into repositories. For these you must compile them yourself, which can be flaky for one thing and for another the whole idea that you must compile it yourself is ridiculous. I'm actually a little bitter about it because there was a really cool sounding app I wanted to try, which had no equivalent that I could find, which I couldn't install because it required outdated libraries. Developement had apparently stalled and there were no upgrades to be coming any time soon. I wanted it because it was very similar to an app on a friend's Mac, and I wanted to show off Linux. Well, I didn't get to show off Linux because Linux couldn't do it, at least not on my setup.
Why doesn't linux have something like OSX's .dmg install files? Those are dead simple to use, so easy I tend to use them the "hard" way (by double-clicking and running instead of dragging and dropping into the apps folder) because I'm used to Windows installs.
All Linux really needs is program that builds one-click (or drag and drop, if you want to be fancy) install packages from the make/install scripts on the app writer's machine. Keep a copy of each necessary library (or even better just the portion of the library that the program uses) inside the package so there will never be an install issue, and make it easy for the app writers and the users both to use.
You've got to be one shitty tech/admin if you think the answer to performance problems is to re-format and re-install. Holy shit that's drastic! And completely unnecessary!
You know you CAN clean Windows machines rather easily, it comes with several tools that do it for you. Running a CheckDisk and Defrag will take care of probably 80% issues, with the last 20% dominated by bloated profile issues. CheckDisk and Defrag will take 20-30 minutes, and can be scheduled to run one after the other so you don't have to babysit it. You can check the profile problem by either making or keeping a fresh, unused profile and seeing how it runs under that. Chances are if your normal profile is bloated this new profile will be lightning fast. Clean up the profile or just start with a fresh one and move your documents and such over.
This whole process shouldn't take more than an hour or so. A messy registry rarely results in poor performance. Even at its most bloated it is only one or two megs in size, which is nothing, and is very quick to search and so not very likely to be your problem. If you think it is, there are a plethora of free cleaning tools (my favorite is CCleaner, formerly crap cleaner).
Even if you have yourself set up with a clean image to install from, backing up and migrating data can be quite a hassle, and is overkill unless the simple fixes for whatever reason did not take care of the problem.
That would be great, if it had anything I wanted in it.
I think I installed two or three apps, tops, out of Add/Remove. It's nearly useless IMO.
Wait until you have a problem with a library when you're making/installing an app, and it's a library that generally needs to be an older version (why wasn't it backwards compatible? who knows?), which is impossible because you have other apps that require the newer version.
You pretty much can't use the app at all unless you're into re-writing the code for it. Great user experience there.
Add/Remove has a very very limited selection.
Synaptec is better, but still limited.
There are a shitload of applications out there that do not exist in either, and if you want them they suck monkey testicles to install. For any non-scripter/programmer eyes glaze over and drooling begins before deciding they need to switch back to Windows. For anybody who thinks it's ridiculous to have so many packages that are essentially unfinished compared to the same level of Windows packages, it's often unacceptable and they switch back to Windows.
Honestly, software installation is probably a good reason for desktop users to stay away from Linux. You can't just browse the web, see an app you like, click it and install it. You've got to check the repository first, and hope it's there since that's the easiest way to install it. If not, you can download the tarball and pray all your libraries match up to what the app needs when you compile it (why the hell does the binary need to be compiled on each machine? That should only be necessary when changing architectures!). If they don't, you're shit out of luck. There is no recourse other than complaining to the developer and waiting, hoping they fix something.
What linux needs is a unified installation package. Something easy that maybe needs to be installed once but after that everything installs in a simple, one-click fashion. You know, like Windows has had in some form or another for over a decade now.
Replying to myself here, but I forgot to mention Macs, with their drag and drop installs I think they are even a little ahead of Windows.
Mac is based on BSD, and as such is very similar at its core to Linux. Why hasn't anybody come up with the Linux equivalent of the .dmg file?
Except anything not in the repository (and there is a shitload) is a serious pain in the ass to install. Windows beats Linux here because installing software is so simple, and has been so simple for years, that a repository has never been necessary. Why would anybody develop a repository when all you have to do is Google it, clicky click the pretty blue link, and lo and behold it's installed (ignoring the plethora of security checks of course, making sure you really meant to install that piece of software).
Despite how easy the repository system is, Windows software installation is still miles ahead of Linux. Especially with .msi installs, way beyond anything I could find in Linux. And I looked, because it annoyed the hell out of me.
My problem with the repository system is there is a ton of stuff that is not in the repository. If you want it, it can be a pain in the ass to get it.
For heaven's sake, it's 2009, why the hell do I have to friggin compile every damn piece of software that isn't in a repository? Windows figured this out decades ago, if you're compiling it into a binary, why do you need to compile it in the first place?
Granted, that last statement shows a little ignorance of the way Linux works, but seriously, why hasn't the Linux community come up with a simple install script/storage container that packs all the dirty stuff into one neat little package for easy distribution? As it is now you have to dump a tarball into directory, run a few scripts while crossing your fingers that all your libraries match up, then make the binary. If something goes wrong and you don't have the time or knowledge to fix the scripts then you're stuck. It's bullshit.
As wonderful as the repository idea is - frankly I love that everything is right at your fingertips - it is completely unnecessary with Windows, because Google works just fine as a repository. Click the link and you're installing the program, no mess no hassle. And if you wanted to set up a repository, it would not be hard, it would be little more than a database of .msi files, which install automatically.
Frankly, some kind of unified one-step scripted install structure, preferably all in a single container, that actually worked as intended would catapult linux on the desktop by leaps and bounds. It would make so many things easier. Developers would have to use it, though, or it would have to be dead simple to convert current asinine scripted installs to it, else there won't be packages for it and the whole thing would be dead before it started.
Unfortunately, radio waves are non-habit forming.