Thursday, April 19, 2012

Seven Windows 8 Features Lifted From Linux and Others

Over the decades, there have been many cases of companies incorporating features they see in the competition in order to improve their product. Microsoft, Apple, and many others have all engaged in the practice. It's a tricky road to follow though, with so many bloated software patents and copyrights that you open yourself up to lawsuit just for even having something similar. And these lawsuits are typically without merit, but are used as corporate weapons, requiring vast amounts of cash for the defendants. It sucks.

And now that Microsoft has come out with their Windows 8 beta and people are using it, it is a good time to consider what "innovations" did Microsoft copy from others - primarily the Linux world - and incorporate into Windows 8. Surely they copied from the Mac world also, but that is a different discussion.

Windows 8 and Linux are vastly different from each other in terms of their design and implementation. And they absolutely differ in their ideology of commercial vs free software. But they also have different audiences requiring different focus on some elements. And yet, despite their differences, there is a great deal of commonality among all desktop/laptop operating systems as they do a lot of the same things and humans use them in a lot of the same ways.

Now what is very interesting at this time is the lack of enthusiasm Microsoft expected for their new user interface design. Sure, the technical details of the new OS has a large number of users very happy for the improvements. However, many of the beta users find themselves wishing to go back to the "old way" of doing things as they did in Windows 7, or even XP.

Microsoft, to their credit, is attempting to make a leap in user interface design for their venerable operating system. It is expected and should be welcomed. This particular iteration may undergo a good deal of tweaking if they expect to lure users away from their Windows 7 machines, which people generally feel satisfied with as far as I can tell.

So without further delay, what are the features that are new to Windows but have been around in Linux desktop environments for years?

1) Mounting .iso files

Have you ever downloaded a .iso file that is intended to be burned to a CD/DVD but would like to just rummage through the file system without actually requiring a plastic disc? This feature allows users to download .iso files and simply mount them, with Windows assigning a drive letter to that file system as if it were an external drive.

Yes you could do this in Windows before using third-party tools, but now it will be native to the OS. Microsoft spins this feature saying that no Linux distro has the same kind of easy mounting, requiring command line tools or third-party tools. 

The truth? Linux has had mounting of .iso files for years. In the beginning, so long ago I don't remember when it came about, it did require a command line. All major Linux distros in recent years have included an applet or other GUI that does not require a command line. And as far as the "third-party" reference goes, a distro consists of components from numerous providers and contributors. So in a way, the majority of the software is "third-party" in that there is no one company that builds the entire Linux operating system.

2) Windows on a flash drive - Windows To Go

Windows To Go is a feature that allows users with a Windows Enterprise license to create a bootable Windows 8 environment on a USB flash drive. It supports hot unplug which allows the flash drive to be removed while running, suspending the OS until the drive is reinserted.

The ability to create and run "live" Linux distros has been around for years and every mainline distro provides a live version to be downloaded for users to give it a try. To Microsoft's credit, they did come up with an implementation that performs very well compared to typical Linux live distros. The reasons are fairly arcane but have to do with how they configured NTFS to manage just such a scenario.

3) A resilient file system - ReFS

Microsoft's next generation file system, called ReFS for Resilient File System, will be a part of Windows 8 server. When used in conjunction with Microsoft Storage Spaces, ReFS supports copy-on-write snapshots. It provides better security than NTFS, using integrity checksums and B+ trees.

Codenamed Protogon, ReFS closely resembles ZFS (Z File System) and the Linux-derived Btrfs (B-tree file system), including improvements in file, volume, and directory sizes. The ReFS design and feature set are to be expected since all operating systems need to consider more resilient file systems for server installations in particular. It's just that this is not so much as an innovation as an inclusion of something smart already being done by others.

4) The primary desktop interface - Metro UI

Microsoft prototyped the Metro UI through its forays into Zune and Media Center some 5 years ago. It is a unique means for working with a device, though arguably not the right paradigm for a general purpose computer, but was never a Microsoft original. Still, Microsoft followed these principles that were innovated by others, particularly phone and tablet vendors that have to deal with touch screens and tablets.

A lot of this kind of human factors engineering into the user interface has been going on for years by the makers of point-of-sale terminals that have a limited functional user interface and relied on touch screens. So this is just an evolutionary step in that same kind of user interface model.

In the Linux world there have been efforts to reach the same target audience with changes in the primary desktop environment. Ubuntu has come up with the Unity UI, the GNOME team announced the end of GNOME 2 and produced the GNOME 3 shell and the extensions that followed. These Linux projects as well as Windows Metro UI are attempts to create a single UI for everything from desktops, laptops, and netbooks, to tablets and phones.

The general response from users both in the Linux world and the Microsoft worlds have shown mixed responses to the new UI concept. Time will tell, but it doesn't seem that the world is quite ready to have a single UI for everything. I think this is because these devices are used differently, like the point of sale terminals, and therefore have different requirements for how users interact with them.

So this kind of  user interface has been around a long time. It has been used for special purpose devices in the past. This is merely an attempt to make it the default user interface for all Windows. I have my doubts as to its success.

5) An improved file copy dialogue

When copying, renaming, moving, or deleting files in Windows, all you had was a rather uninformative completion bar in its own small window that did not provide enough information. Furthermore, if you started six file copy operations you got six separate dialogue windows. Really ugly and useless.

Their resulting file operation dialogue is very close to the same dialogue used in the Dolphin and Nautilus file managers in Linux for a while now. The Windows 8 file operation dialog sums separate file operations into a single dialog that includes pause/restart on individual files and completion graphs, just like in Linux.

6) Social network integration

Numerous Linux distros, and specifically Ubuntu, have for some years now included integrated social networking interfaces by default. These social network applets and extensions allow users to update multiple social networks with a single status update as well as consolidate profile information. Microsoft was late to the game and is now incorporating these social network features directly into the Windows desktop.

7) Cloud integration

Microsoft is now integrating their SkyDrive online storage service into Windows 8, allowing you to not only store documents, photos, and music, but you can also host your user account - personal settings, etc. - so that you can log in from anywhere and have the same user account settings.

Back in Ubuntu 11, the Ubuntu One service was integrated into the desktop to support a free 5 GB online backup solution. Additionally services like DropBox and others provided free online storage with options to purchase more. Granted, the ability to host your login profile on the cloud would appeal to a certain niche of Windows users.

There are currently about 42 online backup/storage solutions including Microsoft's SkyDrive. Will SkyDrive supplant all those? It's hard to say. The fact that Microsoft is offering 25 GB of free storage - 5 times most of the competition - they will pick up a fair number of users for sure. And with native integration into the Windows desktop, they have a compelling reason for users to stop using other services.

There you have it. Seven new features added in Windows 8 that originated somewhere else. My guess is there are more, especially under the covers. 

I point these things out, not to vilify Microsoft or be anyone's fan boy. I point these things out because of fan boys that constantly point out the opposite: features from Windows that are picked up by Linux or other software makers. And they make the point that someone is "copying Microsoft features and innovations".

My problem with that kind of criticism is it devalues competition. In a competitive environment, the successful competitors must provide similar features and "innovations" or they get left behind. And when competition gets ground out, you are left with a monopoly. The best thing for users (and any consumers) is to have healthy competition. Without it, the monopolist is under no compulsion to make anything better.

Does anyone think Microsoft would be as aggressive in development of Windows 8 features if there were no other choice of operating system? Would they provide these particular features if there were not someone already providing such a feature and it was successful? No and no. 

The main point of all this is that Windows improves because Linux and Mac improve. And those improve because the others improve. Whether or not Windows users know it, they absolutely need successful Linux and Mac offerings because that is the reason they get new features and performance improvements.


Copyright 2012, Kevin Farley (a.k.a. sixdrift, a.k.a. neuronstatic)



Friday, April 13, 2012

Linux is Linux... mostly

"What's in a name? That which we call a rose by any other name would smell as sweet."

When Shakespeare penned those words so long ago, he had no notion that they would end up being so often quoted on a massive global Internet through these automatons we call computers. Nor would he perceive someone would eventually use the quote as an introduction on a operating system discussion. But I have just done that.


Once upon a time, there was one Linux kernel and one Linux operating system. Over time, parts were combined, recombined, replaced, and thoroughly hacked on until now we have over 600 variants of the operating system we call Linux (yes I know some insist on calling it GNU/Linux, but I think that is superfluous and silly). But we still have just the one kernel. And that one kernel has found itself on every kind of computing device that could bear an operating system.

From tiny computers no bigger than a matchbox, to monster mainframes with thousands of virtual Linux instances. From supercomputers used to solve the most advanced calculations on the planet, to power meters. From mobile phones to desktops, from tablets to toys. You encounter Linux every where. It is in your TVs, routers, set top boxes, cars, and Internet servers by the truckload. Linux is everywhere.

Interestingly enough, the place you most seldom find it in the wild is on users' desktops. The various flavors of Microsoft Windows holds a firm dominance on the desktop. Still, you can find it on a lot of desktops because many of us don't care about conforming to what others think is best. We find our own way. Some find their own way on Macs. But others, those others whose neurons buzz with excitement over having control over everything in their computer, they find their way to Linux. And they never leave.

And with all those millions of Linux users out there, each possessing a desire to do things their way, it was inevitable that variations of the Linux operating system would come about. These variants are called distributions, or simply "distros" for short. There are an estimated 600+ different distros of Linux spilling out of the Internet at this time. Fortunately for the newly converted, there are a handful that hold the majority of Linux users. Arguably - and really, it is argued a lot - the leading Linux distros at this time are Mint, Ubuntu, Fedora, Debian, OpenSuse, and Arch. 

These six distros have bubbled up to the top, serving the needs of the majority of the Linux users. And at their heart, they share the same kernel. Additionally, each of them have the ability to substitute, extend, or nearly every piece of software the comprises the distro. This software, called packages by some distros, typically have counterparts that provide the same basic function, but in different ways with a different user interface (UI).

What really distinguishes the distros is the list of packages included by default when installed and the package management tool that is used to maintain the distro. Many distros are simply respins of other distros, differing by merely a few packages. Others are targeted for specific industries or cultures. Some are created to be language specific for the non-English speaking world.

What strikes me as unique about Linux, and open source in general, is the (sometimes staggering) number of choices you can make about the software you run. You don't like the look and feel of the main desktop environment? Change it, just download a different one and use it. You don't like the office suite? Change it, there are several alternatives for most office apps.

With all the choices out there, and the ability to configure nearly every single aspect of the OS, it is the perfect environment for exploring how you do basic things and trying out new methods. Sometimes even the non-programmers get infected with the zeal for creation of their own applications and use one of the numerous high-level scripting languages so they either extend existing software, create plugins, or write their own applications. It is this kind of environment encourages people to experiment, to do more, to learn more. 

And this is where distros come in. Instead of having to start from scratch every time you want to try a different build of Linux, you can find a distro that provides the combination that most closely matches your needs. You start with some distro, then change out the packages as needed so you can get what you want, the way you want it. Or at least try to.

Some think that the huge number of distros indicates that there is no "one Linux" and it represents a fragmentation of the Linux community. While there is no single Linux operating system out there, there doesn't need to be. And furthermore, there remains that one cohesive kernel, and that is why comments about fragmentation are typically overblown. There may be 600+ distros, but Linux is Linux, and because of that, a simple swap of libraries and applications can allow one distro to morph from one look and feel to another. And yet each still remains a Linux operating system.

So, what is the point in all this? When the Linux community finds things it doesn't agree with, they are some of the most vocal critics you will ever encounter. To the non-Linux user community, it would appear that there is huge disagreement currently in the Linux fold over desktop environments specifically at this time. When Canonical announced it was swapping out the tried and true (and old) user interface software (GNOME 2) in the Ubuntu distro for the new "Unity" interface, it had its share of very vocal critics, myself included. And the announced end-of-life of GNOME 2 by the GNOME developers just added more fuel to the flames. But I submit that there is no fragmentation.

Linux is still Linux. Anyone can download Ubuntu from Canonical, and once installed, they can then download and install any of the other dozen or so alternative desktop environments available to Linux. They are not required to run Unity. Those that felt "betrayed" by Canonical with changes to Ubuntu and moved to different distros did so because they felt their base distro no longer served their needs. To those that use different distros altogether, they never really thought there was fragmentation to begin with.

As long as the kernel and the core Linux library APIs are maintained, Linux is Linux. Fragmentation would really only ever occur if someone were to seriously fork the kernel and strike out on their own AND they garnered a sufficient user base to make it a viable competitor. It looked like that may have been happening with Android. But recently the Linux team has merged most of the Android kernel changes back into the mainline. Fragmentation avoided.

Linux is Linux and has been around since 1991. It has undergone uncounted changes since then and has matured into world-class functionality and stability. One day it may "hit the wall". But such an event is not even on the radar yet. Until then, it keeps improving and growing. And all the while it flexes its OS muscles allowing it to become large and powerful, controlling masses of resources and serving millions of transactions, it can tuck itself into a tiny little flash part and run non-stop for years inside some little device. All this from the same code base.

Linux is Linux... mostly.


Copyright 2012, Kevin Farley (a.k.a. sixdrift, a.k.a. neuronstatic)