Hi, Nikhil
That is a cute list of features you have. I was tempted to answer this, firstly because I am seeing way too many posts on this list related to similar issues of "Linux or Windows". IMHO certain things that you wish may not be all that good. Every OS has its pros and cons. Though here are some of my rants on these features. Lets multiply this precious bandwidth hog. Standard disclaimers apply!
First of all, newbie's reading this post should understand that this game called Linux is more about choices you make than anything else. Hey and the great part of this is that when you make your choices you won't be a newbie anymore, so read on.
Hi!
Here is a wish-list of the features I would like to have in Linux so as it to be usable/popular among the masses
Better hardware support:
Let the multimedia k/b, the jazzy 5 button mouse, the fundoo steering wheel work under Linux.
This is perfectly acceptable, we all the time need the latest HW to work, even though the new hardware may be an overkill for the jobs at hand. Nobody likes to pay megabucks for a killer hardware, just to see that it doesn't work under her/his favorite OS.
A work-around for masses wanting Linux however will be "Buy the hardware that is supported already, for a less painful install", for now at-least. This will also give you a sense of being in control of your hardware, rather than the vendor shoving junk hardware down your throat for exorbitant prices. You will feel more organized! so if you cannot configure it the first time around, you can try again! LUGs are always there to help when you ask wisely and accurately. (Note my words, saying "my X server doesn't work", doesn't help, show us at least some errors that you get.)
- Less dependence on root:
I would like to rephrase this as better integration within a Linux system or for that matter within any OS.
*Any* particular administrative task must be run with just the required administrative privileges on a given OS. Now it is up to the system designers to *customize* the system user interface so that it is a smooth ride for the user to perform the task. The user need not know anything about the underlying process if she is not interested. But if she is, she should be able to see all the nuts and bolts and not be mislead why what's shown on the GUI. Linux gives you this choice. Most GUI oriented proprietary OS's won't as thats not their goal. Their job ends with nice GUI Interfaces. Rest of the problems can be dealt with a system reset normally.
IMHO this "apparent" less dependence on administrative account on a Linux system is possible. There are probably many techniques that can be employed to get the same effect. The simplest that comes to mind is use of appropriate system accounts and authentication systems like PAM. Many desktop oriented Linux distributions are probably doing the same thing.
2.1
Lets say me and my brother use different ISP and we would not like to share passwords. How to do that ? I believe there is no viable solution
Ans: Use two ISP blocks in wvdial, one for you, another for your brother. You start *your* ISP with the right command-line argument to wvdial. There are also gui-apps that let you do the same.
Not just ISP switching, you can change the *entire* configuration setup of Linux using the idea of "profiles". Linuxconf implements things like this. Try this under Windows or similar OS.
So if you have Laptop loaded with Linux, you can have different profiles for different places, like home, office, public, development etc. etc.
I think that for all "common" tasks a Joe user wants to do, there are already adequate tools under any Linux system. However somebody must integrate them *well* to be stable and *fault tolerant*.
<emph>This is the key to acceptance by the common user.</emph>
Most distributions are trying this with mixed results.
Note very carefully that, when stretched to its usability limits, even a user friendly system like Windows / MacOS will quickly become unpredictable and unstable. What most of us like in Linux is the ability to undo ours or our users mistakes without being much conversant with system internal. We tend to learn in the process, making us better computer users. Most of us want this choice within our OS's, when it is limited as in case of Windows, we tend to abandon such a OS. But this can be a harsh stand if you earn your living by writing Windows software. I would say use windows like you use Linux, on command line, with win32 emacs, python toolkits etc. etc. Believe me Windows too is a cool operating system for certain things, but its limited, higher liberation is with GNU/Linux. But for practical purposes Windows isn't totally bad, but it does suck and its a fact. (OK, this might be slightly biased me being a Linux user, we like to tease Windoze Weenies)
2.2
My family members would like to install the apps they downloaded from the net (rpm files). How to ensure that they can install the stuff? (sudo ? but they can accidently uninstall some progs that I installed How to prevent that?)
Forgetting about older windows release, if we consider Windows NT/2K/XP they all require administrative access to install/update softwares. As mentioned before, to the user, this is not visible. The system shows the user what she wants to see (in this case her app installed). Again tools like apt-get from Debian are most promising in this regard as they take care of dependency issues.
I don't think separate software installations per user are present in any system. You may see different menus, but thats because of the GUI system and your privileges on the system. Now talking about common softwares like MSN messenger, do we really think it is practical to have two versions of MSN messenger installed simply because we like a particular version, and our family likes another? It will be an awful waste of disk space. I have seen windows software choking because of incompatible library versions and what not. Just because it is easier to install many software within windows doesn't imply that, what windows does in the background is in any way different than many POSIX systems. The main ideas and concepts are pretty similar. I must say that Windows does better job of hiding the details from user than do systems like Linux.
2.3
My system is badly shut and for fsck the shell script asks for the root password. But I'm (the root)not available. The system wont proceed without fsck. What to do now? Note: even with ext3, if the fs is in real bad shape RHL *asks* for root password.
It does because your rc.sysinit shell script is written that way. Think about this, since you don't want this 'feature' of the system, you can shut it off by simply editing the script.
Try to do some recovery on a thrashed windows system, how much help does the default system provides in terms of what it is doing ? unless you load a proprietary software you cannot make much progress.
All this being aside I know NTFS is cool, has better capabilities than common ext2/3 on Linux. But did anyone care for FAT32 on Win9x, without journaling support or anything. It still works.
Leaner Desktop Environments
Personal experience: GNOME/KDE, supposedly default desktop environs are slow (thats an understatement) on Pentium 166/32MB RAM. IMHO Windows GUI is leaner and more intuitive than KDE,GNOME (Caveat: I do not use Windows) I use Fluxbox. It is *only* for experienced users. (OK I'm not claiming to be one ;)
OK I agree that the desktop experience is less than complete, but then at aleast things are configurable and you have a choice of switching to a different equally competent desktop/WM. You can not do that with Windows. I can configure my window manager anyway I want, can we do the same on windows with just a text editor ?
Windows GUI runs faster because much of its functioning is within the kernel, note that windows GUI is a "shell" to the underlying kernel. That makes much difference. What is best in Linux is that without it's GUI code in the kernel it is amazingly fast at many things. Try loading windows to 100% CPU usage and see its GUI responce. Try the same on Linux, the GUI is unhindered in its execution even at continuous 100% usage. Further try running ME/XP on a P166/32RAM, it will be fun :), (I am not sure, if XP will even install, so people correct me)
Since we are ranting about desktops, what I hate most is release of unfinished and improperly tested GUI code by distributions, also there must be a generic menu system for *all and any* window managers. This is one thing I like in Debian. Red hat is still not there but they are trying and in a pretty nice way too.
Many things need standardization and tweaking. But I feel what we are seeing now are only first steps to really revolutionary GUIs in future. But while these GUIs can get as fancy/abstract as they want, they must provide a consistent *feel* for all common tasks. The user should be able to get her/his work done without getting entrenched in finding the menu item, or finding where the menu is in the first place. Note that I am not talking about visual appearance of a GUI but its immediate intuitiveness when a user sees her/his desktop. I believe future Linux systems should collect some information from a user when she/he logs in first time to present a nice consistent interface, instead of predefined defaults of a distribution.
Considering state of other GUIs in the market, I believe that Linux is 'ready for Desktop' *if* there is a competent admin. Otherwise it is *still* "beta software" in this department, to this date.
Better Software support
Unless and until there is support for : Educational CDs (GRE,TOEFEL,GMAT...) Encyclopedia CDs ISP CDs (VSNL dialer CD e.g.) etc.
we can be *very sure* that Linux wont be as useful as Windows for students and home users
Perhaps not to the casual home user, who does nothing other than surf web, some email, chat and writing of documents. But I will say it is certainly ready for a student. Your <favorite isp> CD is out, as we have better software than that. Encyclopedia CDs, hmm... what are the contents mpeg, html, txt, avi ?? or some binary compressed format readable only through a MS software. Knowledge within an Encyclopedia should be available with most common viewers, right, since it is for mass consumption. If MS hinders that by making it unrecognizable by common utilities like a browser, whose fault is it, the Linux loving users or MS ?. Why should MS's choices decide what a poor school in India runs on their legacy systems?. It is the user who must have a choice of viewing particular content in a standard way. Software companies must then provide what the user wants through appropriate channels. Why can't MS make desktop software for Linux ?, we will buy it, because we want to use it on our Linux systems. No one, here is anti-MS, all we want is the choice. Its like choosing to wear a certain clothing. It based on individual choice rather than a market monopoly. Linux community by making *standards compatible* software is building what should be future of computing, seamless access to information, a dream which many software people share. I don't see how incompatible windows software are helping here. I do not mind MS leading the latest in computing scene, but they must maintain complete compatibility with Open Source projects and Open standards.
More Games please
Frankly majority of teenagers are gaming enthusiasts and understandibly so. Linux does not stand in the competition AFA games are concerned. OK there may be QUAKES and DOOMS but the numbers are nowhere near as those offered by Windows.
Hey I want more games too ;-) checkout Debian's package listing for games. I would say I get more fun games in *default* install of Linux than that of Windows, but Windows beats the hell out of Linux when its 3D gaming thats involved. 10 Pts to Windows for that.
Better/Easier Development environment
OK C may be good for experienced programmers. But I've seen many novice people write good software with VB. It is easy (period)
You gotta be kidding!!, ever heard of Python, its easier than VB, hell I will say it is easier than writing in your mother-tongue. Plus you have access to production quality development environments in a *default* install of any Linux distribution. There are more tools than a beginning student will require. Windows not only sucks but it is pathetic in its default install to support any kind of coding.
The (regulary) irregular crashes
Please.. make some feature so that Linux crashes sometimes. It kinda gives you that deja-vu feeling. ah... those were the days :)
He he, how about this, in your /etc/crontab
<5 mins after you normally log in> root /sbin/halt -n -f
So you see, all the features are built in Linux, it is only a matter of choice and integration ;) Integrations are happening, and the choice is yours. In summary I will say use a system that gives you the best of all worlds, for me it happens to be Linux, it may not be the same for you. But be clear about what your system is doing and why, then it doesn't matter what you use.
Best regards,
Rajesh