...making Linux just a little more fun!
The solution proposed by Dr. Sevenich in this article is an important part of what I see as the future of computer hardware. At the present time, we lump several separate hardware resources under the generic label of "Computer" - but considering them as distinct units that serve a common purpose can be critical in determining the direction of development.
Imagine an entire system based on the modular approach in this article: say, a roll-up screen and keyboard, a tiny CPU module (perhaps as a removable part of the keyboard or display, or as a part of a modern PDA with appropriate connectors), a touchpad (or a tiny optical fingertip mouse) and a 60GB USB drive configured as described below. There's very little volume (and thus, essentially no problem at the airport), very little weight, the issue of fragility effectively disappears, and - given components designed to fit the system - there's no problem in device recognition or configuration.
The benefits and rewards of producing such an easily configurable, user-serviceable,
fully-mobile computer system are large and obvious - both for the vendor and the
users; the hardware to do this already exists. We can only hope that some
company with the appropriate resources will pick up the challenge and help
bring that future a little closer.
Picture the security line at a major airport. It's long, maybe slow, and many of the queued people are lugging laptops. Some of the luggers will use the laptop on the plane; some will stow it overhead or underfoot. Its virtue is that it provides a portable way to transport your work environment with you, including Internet access. The problem is that the laptop is an expensive, relatively heavy, relatively bulky, and vulnerable piece of technology - with limited battery life. There are various solutions to this problem, but none have so far been viable/convenient enough to persuade the laptop luggers to change their ways.
We'll advance a solution here that uses pieces of existing technology, but pieces that are not yet deployed together with this problem in mind. The solution would seem to present an entrepreneurial opportunity and have other follow-on benefits. The elements of the solution are:
Let's discuss each of these elements assuming that the operating system is Linux. It could also be done with other operating systems, but for something like Microsoft Windows it might require the proprietary software vendor to change, or at least rethink, their licensing and business models. In contrast, the fluid, adjustable, and unconstrained Linux business model allows an entrepreneur to be more agile.
We can easily find examples on the Internet where a USB device has been configured to:
In short, it works just like a typical hard drive. Some liveCD implementations can install a bootable Linux to a USB device (e.g. the Ubuntu family.)
These devices are quite small - i.e., the average flash device or microdrive can easily fit in the palm of your hand - but possess significant storage capacity. For example, at this writing I can go to the local shopping mall and purchase an 8GB USB micro-drive for a cost of about 100USD. Lastly, they do not require their own power supplies, because they can be powered directly from a USB port.
Clearly, this is what we want the laptop luggers to lug instead of their laptops. Note as well that it is relatively easy to back up the contents of the whole USB device onto a second inexpensive USB device or other external backup media.
The computer needs to have reasonably standard devices for which Linux device drivers exist. The entrepreneur implementing this solution would be wise to choose devices whose source code is in the kernel tree, avoiding binary-only drivers. This would satisfy the needs of all users and constitute a less brittle and more easily maintained product.
The computer needs a BIOS, or equivalent bootloader, that is configured to boot from our USB device. It does not need its own hard drive - it's essentially a Thin Client with No Server (TCNS). On the other hand, if it is an existing desktop or laptop system with an internal hard drive, that's not a fundamental problem, as long as it can boot the USB device. However, as a new installation in an airport or in an airplane, the TCNS approach yields a product which is less expensive and more durable.
The boot up software system on a liveCD is close to being the sort of software we need, with its major drawback being that the read-only nature of the storage medium. A liveCD is capable, on a good day, of recognizing and properly deploying device drivers and configuration files for:
This process doesn't always go well, but the major hurdle would disappear if the target TCNS had reasonably standard devices for which Linux device drivers existed in the source tree. Backward compatibility problems may occur with randomly selected legacy desktop and laptop machines instead of the more standardized TCNS. These problems would disappear in most cases for 'mainstream' machines, as the needed device drivers enter the Linux source tree. [We are resisting the temptation to define a 'mainstream' machine as one for which the needed device drivers do enter the Linux source tree.]
The problem is that the laptop is an expensive, relatively heavy, relatively bulky, and vulnerable piece of technology - with limited battery life when left uncharged.
If we focus on the airplane traveller who currently carries a laptop, the suggested solution involves considerably less:
It lightens the load for security personnel, moves the security line more quickly, and allows the traveller more flexibility in choosing carry-on items.
The focus on portability for air travel was chosen to illustrate a general portability problem and its potential solution. The proposed solution would also benefit:
Further, the use of the TCNS approach could:
Dr. Richard Sevenich, Professor Emeritus of Computer Science, retired from Eastern Washington University early in 2006. However, intending to remain active, he is currently teaching Computer Science on a part time basis at Malaspina University-College, in Nanaimo, BC, Canada. His teaching and research interests lie in the areas of Operating Systems, Compiler Design, and industrial control via state languages. He writes occasional articles on these and other topics. He has used Linux since the summer of 1994.