Sunday, November 25, 2012

Why Windows is not ready for the desktop

An excellent blog on the Windows - Linux comparison : Check it out here - http://grep.be/blog/en/computer/ui/windows_desktop

As the author says in his followup blog - "First of all, I should note that the list which I posted was only semi-serious (with tongue in cheek); the fact that it refers to Windows as the operating system which "attempts to replace Linux as the major operating system" should have been a pretty big clue to that effect"

Do read the comments on the blog - quite fair rebuts in the comments. Check them out.

Also read the some-what 'against Linux Desktop' article at http://linuxfonts.narod.ru/why.linux.is.not.ready.for.the.desktop.current.html

Reproduced below from the blog (do read the followup too!!) :-  [NB: The blog has been reproduced below as some blogs tend to disappear sometimes. So this is for keeps!]

==========Extract from the BLOG================

Why Windows is not ready for general usage

There's this new Windows thing that people keep talking about, and which attempts to replace Linux as the major operating system. I've given it a look, but there's a wide range of problems with using it:
  • When you buy some hardware for your Windows machine, it hardly ever works out of the box: you first have to fiddle with some CD-ROM or manually (as opposed to through your software manager) download something from the Internet, or any number of other things (and in some cases even all of the above), before it'll even do anything useful. This is even true for keyboards and mice: the first time you plug in a USB keyboard to a Windows machine, it'll take about 30 seconds before they will work. It's much easier to have drivers for everything shipped with the operating system, so that things become really plug-and-play.
  • According to Microsoft, faulty hardware drivers are the main cause for Windows crashes. It would be better if Microsoft were to develop all (or almost all) hardware drivers for Windows themselves, like the Linux kernel people do; by doing this, the quality assurance for the drivers could be guaranteed as is the case for Linux drivers, and Windows users would have much a more stable system.
  • There is no public bug tracking system for Windows. What this means is that if you've got a problem with Windows that you'd like the developers to take a look at, you're out of luck.
  • Many Windows programs and drivers come with an "updater" which every so often checks online for newer versions of the software. While this is something Linux distributions also do, in Linux distributions this is done through a central updater; in contrast, Windows applications all have their own updater. The result is a situation where you have something like 5 to 10 updaters running in the background, eating memory and other resources, and slowing your system down.
  • Every major update of Windows since Windows 2000 has seen a complete overhaul of the user interface. As a result, everything you've learned goes out the door, and you have to relearn how to use the system all over again. This is about things like "where in the control panel is " or "what does my desktop look like"
  • Windows does not support focus-follows-mouse without manually calculating bit masks in a registry key.
  • Windows does not support virtual desktops without extra software.
  • If you don't like the Windows interface, it's almost impossible to swap it out entirely for something else, like you can switch from Gnome to KDE and back under Linux. Different people have different preferences, so should be able to swap the user interface for something that better suits them. This is child's play under Linux, and impossible under Windows.
  • While much of the Windows interface can be controlled without the use of a mouse, parts of it cannot be. If you're doing the same tasks every day, then using the mouse will slow you down; a keyboard is so much faster. Under Linux, it's perfectly possible to use the system without the use of a mouse, and without losing any functionality (except if you want to play games, but this list is about Desktop usage, not about game console stuff)
  • It is impossible to try out the new Windows without investing large amounts of money into a recent computer. In contrast, this blog post is being typed on a 7-year-old Macintosh PowerBook running a recent version of Linux.
  • It is very difficult to use a single Windows application (i.e., not an entire desktop) over the network. In Linux, you can just use SSH to log in to a server and start the GUI administration console there, but run your desktop environment (and whatever else) on your local machine. Windows doesn't have that, so you need to add large amounts of memory to Windows servers just so they can run a full (unneeded) desktop just so that you can maintain them.
  • Windows doesn't have mandatory access control subsystems like SELinux or AppArmor. What this means is that anyone who knows of a bug in a part of the system that runs with administrator or system privileges, has the ability to take over your entire system. With mandatory access control, this isn't possible. There is "Mandatory Integrity Control", but it uses a simplistic level-based system, and is only supported on the desktop; so on servers, where it would be most needed, this isn't available.
  • Windows cooperates very badly with other operating systems. If your company has a hybrid environment, you'll always need to special-case the Windows systems in the environment for one reason or another. What this means is that if you're the first user in your company to use this Windows, you'll probably not get much work done.
  • The new Windows only runs on the x86 processor family. If you have invested in, say, a mainframe, or in a rack full of PowerPC or MIPS processors, you're out of luck and had better stuck with Linux instead.
  • Windows has bad backwards compatibility. When I have this old Linux application that I still need to run for one reason or another and which doesn't run on a recent Linux installation (which is very rare in and of itself), I can install an older version of Linux in a chroot without having to run a full emulated machine, and the older application can then run in that chroot. Windows has a "compatibility mode" for older applications, but it doesn't work in all cases; when it doesn't, you would need to run a full virtual machine in which you run the older Windows just so you can run the older application. That's just a terrible waste of resources. It's also not possible to do this without installing extra sofware.
  • The standard Windows installation doesn't contain a lot of software. there is a basic word processor, but it doesn't have many features. There are almost no games, other than a few boring card games. There is a graphics editing program, but its feature set is fairly limited.
  • Unbelievably, you need to pay for most Windows software. This is just strange; you can do many useful things on a Linux system without ever having to pay anything for off-the-shelf software. While some of the tried and true Linux software that we all know is now also available for Windows, if you want to use, e.g., Microsoft's productivity suite, you'll have to pay for it.
  • Speaking of that productivity suite: there's a well-designed and widely accepted open standard, called ODF, describing the file formats that productivity suites should use. Yet, Microsoft chose to design their own; their description of this file format encompasses more than 5000 pages, and is in general fairly badly documented. What this means is that once you start using Microsoft's productivity suite, you'll have a very hard time moving away from it again. I recommend against ever starting to use it in the first place
  • And last but not least, Windows doesn't come with the source code. What this means is that you can't just look at the code and learn how things are done, or develop your own extensions, or audit the code for bugs, or any of a number of other things that you'd want to do with a regular operating system. Instead, you'll have to trust that Microsoft did the right thing, and beg, hope, and pray that they'll fix your bugs if you ever need to. I'm not sure what the hell they were thinking when they decided that.
In short, while this Windows thing has some promise, the above list shows that there's clearly still quite some work to be done before anyone can even think about starting to use it seriously. Hopefully the Windows developers will understand that and work on the above list of serious issues; otherwise, I'm afraid Windows will not be used by many people.
==========End of extract from the BLOG================

Sunday, November 04, 2012

Adopting Open Standards


This is something I have been crying hoarse for many many years.Now the Britishers (among many others!!) seems to have heard my voice ;-) Do read the full article from the BBC site article.  Read on here: http://www.bbc.co.uk/news/technology-20178175


Wish there were similar initiatives - if not in the Government, at least in our organisations. It confounds me why we can't put this in our RFCs and Procurement processes ?? Again - needs the right people at the right places who understand technology and its implications!!

Extract from the site :

Government IT projects: UK adopts open technology standards

"For too long, government IT has been too expensive, over-specified and run in contract structures that encourage complexity, duplication and fragmented user services," said Cabinet Office Minister Francis Maude in a speech announcing the strategy.
The standards the government wanted to adopt would favour smaller, innovative tech firms and would demand compliance with open data formats and protocols from every IT supplier, he said.
In the technology world, open standards stand in opposition to proprietary formats. As their name implies they let everyone that wants to look at how a program is built or data is formatted.
This openness helps to flush out bugs in software and makes it easier for data to travel and be re-used as programmers can easily see how it is structured.
Some more info on Open Standards
Open Standards on Wikipedia found here

A quick primer on the Open Standards principles from here :-

Availability
Open Standards are available for all to read and implement.

Maximize End-User Choice
Open Standards create a fair, competitive market for implementations of the standard. They do not lock the customer in to a particular vendor or group.

No Royalty
Open Standards are free for all to implement, with no royalty or fee. Certification of compliance by the standards organization may involve a fee.

No Discrimination
Open Standards and the organizations that administer them do not favor one implementor over another for any reason other than the technical standards compliance of a vendor's implementation. Certification organizations must provide a path for low and zero-cost implementations to be validated, but may also provide enhanced certification services.

Extension or Subset
Implementations of Open Standards may be extended, or offered in subset form. However, certification organizations may decline to certify subset implementations, and may place requirements upon extensions (see Predatory Practices).

Predatory Practices
Open Standards may employ license terms that protect against subversion of the standard by embrace-and-extend tactics. The licenses attached to the standard may require the publication of reference information for extensions, and a license for all others to create, distribute, and sell software that is compatible with the extensions. An Open Standard may not othewise prohibit extensions