This article contains adjustments necessairy to the Linux OS in order to allow a special way of working with a proposed UMPC-design.
The Bourne Again Shell has, during its long lifetime, gained several improvements and thus new programs. This has had as a result that to perform a same specific task, the user is bothered with a large amount of overlapping programs.
Although Linux' self-correcting community might have resolved this earlier, as it is no longer actively used (now graphic interfaces are used instead) no corrections have been made for these flaws. Besides a large amount of overlapping programs, the command line interface has also a number of features which can be dismissed and replaced by other existing commands, hereby making a huge simplification possible.
Examples on this are:
P.S.: Text also implemented to http://en.wikipedia.org/wiki/Talk:Bash#The_BASH.27_lack_of_simplification
Secondly, linux's Filesystem Hierarchy Standard' (FHS) directory tree structure should be altered, so that physical drives and imiginary folders/directory's are no longer used together. At the moment, for example physical drives are mapped in /dev while /, or /root (which are actually on a physical drive and should of been thus actually marked in a folder under /dev), ... are at a maplevel higher. It would be far better sense if the drives are placed under the root folder (/). The drives connected hereon would simply show their contence. The main drive (on which Fedora is placed) would then get the systems folder and user folders, ...
It also makes good sense to actually make the main drive (on which the operating system is placed) non-writable (after the operating system is made fully ready -ie all required programs allready being installed-. Making the main drive non-writable can be done by setting the permissions. This has the advantage that the file system (ie register, ...) does not get corrupted after a period of use, which then requires a format and OS-reinstall.
In addition to this renaming of the logical drives, standard names for partitions too are to be altered. Instead of the now common names (hda, sdb, hda1, hda2, ..) these are to become Partition1, Partition2, Partition3, Swap (for the swap partition), ... The extra information obtained from the hd+a-d difference is negligable, especially as only hot swappable drives should be supported anyway (which have no slave/master/auto option) the latter tending to confuse users.
More information Filesystem Hierarchy Standard (FHS) http://www.pathname.com/fhs/
Standard linux partition names http://linux.org.mt/article/partnames
Firstly, the linux-distro (eg Fedora) could drop its support for outdated/archaïc aswell as recent/new but unusable file formats. Rather than supporting a wealth of file formats, it is better to only support one good file format per type ( e.g. lossy/lossless audio encoding, lossless and lossy video encoding, compression and/or archiving format, ...). By a good file format I mean that one that has the best qualifications for which it is intented and which is open-source/free file format.
Aldough thus fewer formats can be played/executed, simplification and thus no longer supporting it would make computing simpler for the user itself and it would also allow Fedora of operating faster (as lesser code is required). Having a wealth of file formats supported not only confuses the user, but also makes him unaware what file-type to use in what situation (eg .tar.gz or .bz2 for tape archiving?) As Fedora is specifically targeted at the developing world (which still has mostly low-schooled people), this simplification may prove essential.
PS: Other Linux distributions as Gobuntu also feature solely open formats, yet this suggestion would still be different as it would allow but a single format per type, with the intent to simplify matters. This offcourse is not yet achieved in these distrubutions.
Examples are :
In addition to dropping support for these file formats, allot of protocols aswell as environmentally damaging media should be dropped aswell. Besides in the intrest of the environment, the cd media (CD/DVD/DVDRAM/Blue-Ray, ...)would also be dropped as they only have a very limited lifetime, are easily corrupted and are not at all durable.
Examples: SFTP instead of FTP support for parallel and serial connections with devices should be dropped in favor of SATA, USB2 and FireWire800 support for USB1 should be dropped support for appletalk should be dropped support for the older ethernet cards/cables and protocols should be dropped, aswell as token ring ATM, ... in favor of PowerLine Communication (PLC)and gigabit ethernet support for old forms of WiFi (802.11a-g) should be dropped in favor of WiMax and the new WiFi-protocol (802.11n) (if used) support for Floppy's, CD/DVD/DVDRAM/Blue-Ray, should be dropped in favor of the best type of flash memory (CompactFlash?), and USB-sticks and external harddisks
Aldough this would transform the Linux version on which these suggestions are implemented more and more to a embedded form of Linux, this would actually be very beneficial. This as not only matters are simplified greatly, but also as the processor needed to run the Linux-distro can be far less potent/energy consuming than normal. A example on this can be seen with the ECB_AT91 microcomputer and the ECB_ATmega32/644 microcomputer.
More information Free file formats http://en.wikipedia.org/wiki/Free_file_format Comparisation of audio codecs http://en.wikipedia.org/wiki/Comparison_of_audio_codecs Comparisation of container formats http://en.wikipedia.org/wiki/Comparison_of_container_formats Comparisation of archive formats http://en.wikipedia.org/wiki/List_of_archive_formats Secure FTP http://en.wikipedia.org/wiki/SFTP USB2 http://en.wikipedia.org/wiki/USB2#USB_2.0 FireWire 800 http://en.wikipedia.org/wiki/Firewire#FireWire_800_.28IEEE_1394b.29 Serial ATA http://en.wikipedia.org/wiki/SATA WiFi http://en.wikipedia.org/wiki/Wi-Fi Flash Memory http://en.wikipedia.org/wiki/Flash_memory Powerline Communication http://en.wikipedia.org/wiki/Power_line_communication Gigabit Ethernet http://en.wikipedia.org/wiki/Category_5_cable http://en.wikipedia.org/wiki/10_gigabit_Ethernet
ECB AT91 and ECB_ATmega32/644 using a embedded linux and being able to run on a 180mhz cpu and 20 mhz cpu respectively http://en.wikipedia.org/wiki/ECB_AT91 http://en.wikipedia.org/wiki/ECB_ATmega32/644
At the moment, most linux-distro's still support the possibility of dual booting (that is: having multiple Operating Systems on a single device/drive from which one may be selected to run on startup). I believe it is best that this dual booting feature, along with the programs which support this and which are usually standard included in a regular installation should be best dropped. This will reduce many of the hassles frequently encountered with linux installations and make sure that everything is kept simple and more efficient. Instead of this dual booting by having 2 OS' on 1 disk, random booting of other OS's may still be done, but then trough physically connecting another drive (HD, USB-stick, ...) on which an other OS is installed. Selecting which OS to load first would be done merely trough the BIOS (boot sequence can be altered here).
As people will revert to this technique, this approach would become more popular/easy and fits with the trend emerging to divert to a more easy and hot swappable form of computing/connecting of devices. As USB-sticks are rapidly becoming cheap and are already capable of storing entire OS' (eg Mac-on-a-Stick, Knoppix, LindowsLive, MojoPac, ...) and as all HD's are becoming hot swappable nowadays (trough Serial ATA/USB2/IEEE1394/...), this would prove far easier/simpler.
Having gone trough the troubles described myself with this "dual booting", lack of hot swappability (with E-IDE HD's, "jumpers" had to be manually set) and troubles/corruption of the "bootloaders/master boot record" on HD's, I am hoping that this might become a valid action which may be taken to make computers simpler/more efficient to operate.
More information: Hot swapping and types of HD's and other devices http://en.wikipedia.org/wiki/Serial_ATA http://en.wikipedia.org/wiki/Hot_swapping http://en.wikipedia.org/wiki/MojoPac http://portableapps.com/apps/operating_systems/mac-on-stick
Live Linux disributions becoming more popular http://en.wikipedia.org/wiki/LiveDistro http://en.wikipedia.org/wiki/List_of_LiveDistros
Dual booting, bootloaders and the master boot record of devices http://en.wikipedia.org/wiki/GNU_GRUB http://en.wikipedia.org/wiki/LILO_%28boot_loader%29 http://en.wikipedia.org/wiki/Dual_booting http://en.wikipedia.org/wiki/Master_boot_record
In the past, Linux developments have been focusing on improving the Graphical User Interface (GUI) of Linux, so that inexperienced users (that do not know how to use the command line) may use Linux easier. However, this implementing of the extra subroutines needed to recognise mouse control has had an adverse effect on the systems speed and performanence. Also, besides making the system slower, one wonders why such mouse control needs to implemented anyhow as if is also the cause of 2 additional disadvantages. These are
the unpracticality of using a mouse when on the road (e.g. with a portable computer, or in crammed/busy environments as with public computers at airports, libraries, subways, ..)
the slower speed at which you can operate a computer with a mouse versus with the command line, via keyboard (e.g. to perform the action of manually clicking the mouse, and not just the reduced speed of the computer)
As such, it may be better to include the option of controlling Fedora Linux via keyboard, in a split screen configuration. This configuration would be composed at one side of a command-line window (BASH, ...) and on the other side a window with the executed programs (e.g. FireFox-syle browser, OpenOffice-style text-editor, ...). This configuration proposed would make the system speedier and more stable (as the GUI itself or less subroutines in the GUI are needed) and would also still allow a great deal of eye candy. More so, with some extra work, the configuration would also make it possible to make this OS even nicer than any other existing OS as it may allow complete 3D.
Aldough the 3D features proposed may need some more time to implement, the terminal/program configuration can be implemented nearly immediatly and improve Fedora. For the 3D features, some of the coding done by OS's as IRIX and Linux-3D-modifications as Project Looking Glass can be used to create the modification to Fedora.
Finally, I wish to mention that, if you wish to implement the terminal window-program window - split screen configuration (described in the previous letter), a possible simplification of the current command line (BASH) can be implemented . This simplification of commands would allow more users to use this configuration as it would be much easier to learn the commands. Also, the combined terminal window - program window set-up would allow even further simplification. If you decide to implement the split-screen configuration and wishes to also reduce the commands used (simplify the BASH), please contact me for further assistance.
P.S.: As noted, the suggestions on the Linux-distro above can be supplied as a optional packet with Fedora, leaving the user the liberty of installing it -or not-. As such, Fedora may still be controlled by mouse for those people that really don't want to change the way how they control their computers.
More information: Graphical User Interfaces (GUI)'s http://en.wikipedia.org/wiki/Graphical_user_interface#Graphical_user_interfaces_compared_to_command_line_interfaces Goobuntu (Google Linux distribution) http://en.wikipedia.org/wiki/Goobuntu
IRIX (Unix distribution with 3D functionality) http://en.wikipedia.org/wiki/Irix Project Looking Glass (3D Modification for Linux) http://en.wikipedia.org/wiki/Project_Looking_Glass
Compiz (3D Modification for Linux) http://en.wikipedia.org/wiki/Compiz
Croquet Project (3D Modification for Linux) http://en.wikipedia.org/wiki/Croquet_Project
There is a number of extra software that may be included with Linux-distro's. This includes programs as Sunbird, KeePass, the WeatherBug, BOINC (with climate change grid computing software) ..I would also suggest to implement a Linux-only virusscanner (to be used not in continuous and on-access scanning but only shedueled (weekly/monthly). Candidates herefore are Clam Antivirus and OpenAntivirus. In addition to a virusscanner, a open-source defragmentation program should be included.
The browser (eg Firefox) should be standardly equipped with plug ins that allow the clearing of the browsers cache after each session (to negate the effect of the harddisk slowly being clogged with unnecessairy data) and privacy measures/data erases (the plug-in should be able to perform the same tasks as the Wash 'N Go-program) a cookie and spyware sweeper (eg as Avast Ad-aware) the browser itself finally should drop support for the 'autocomplete'-function (to reduce risk of data-loss to third parties and malicious users)
In addition, a calender may be included (eg Mozilla Sunbird), and a program should be included to allow direct ebook-downloads. Such programs are eg Tomeraider and Mobipocket.
Also, text-translation tools should be implemented (eg trough on-line tools as Google Translate or -even better- off-line tools as Apertium). A sentence-based translation device, capable of delivering direct speech translation should also be included, to allow (basic) inmediate translation assistance from the UMPC (still a small, mobile device). Programs able to provide this are eg the new software program, derived from its Phraselator being build by DARPA.
More information
Clam Antivirus
http://en.wikipedia.org/wiki/ClamAV
OpenAntivirus
http://en.wikipedia.org/wiki/OpenAntiVirus
Defragmentation utilities
http://en.wikipedia.org/wiki/Defragmentation
It is best that instead of the standard filesystem used by most Linux distrubutions (ext3) to opt for a newer and better filesystem as Reiser4, GFS-2, ext4, ...
Also, rather than the standard X-Window Destop Environment (GNOME and KDE) in use by most Linux distributions today, it is best to switch to a different/newer Window Manager. These include Enlightenment, Blackbox, Xfce, ...
More information Comparisation of file systems http://en.wikipedia.org/wiki/Comparison_of_file_systems Comparisation of X Window Desktop Environments http://en.wikipedia.org/wiki/Comparison_of_X_Window_System_desktop_environments
Speech recognition and the use of a touchscreen might be made standardly supported. This may allow tablet pc's or XO-1 PC's of being made smaller as no more mouse or keyboard is needed (taking up a massive amount of space). Rather than this, the speech recognition (along with a headset) may be used for writing letters, ...
More information Ultra Mobile PC http://en.wikipedia.org/wiki/Ultra-Mobile_PC Tablet pc http://en.wikipedia.org/wiki/Tablet_PC
Speech recognition http://en.wikipedia.org/wiki/Speech_recognition http://en.wikipedia.org/wiki/NaturallySpeaking
In order to achieve the more or less complicated suggestions/tasks layed out here, it may be helpful to cooperate with Google, Canonical Ltd. As Google has many useful services for the developing world (eg Google Maps/Earth for GPS navigation, Google Mail for emailing, Google Docs, ...) a cooperation with them seems logical. Also, Canonical is already developing Goobuntu (for Google Ubuntu) in cooperation with Google; as some features of this Linux distribution may be copied for use in Linux, cooperation with them too would prove beneficial. Finally, Canonical also has a cooperation with Dell which would finish the cycle of creating a powerful alliance against companies now working together solely in the intrest of profits.
Such lucrative alliances by other companies are for example Microsoft and Novell aswell as SUSE Linux which have recently promised to work together. This event will surely put stress on Linux companies operating on their own and at the moment; especially in the intrest of bridging the digital divide, it may be best to form open-source/humanitarian linux companies-alliances.
Canonical and Google working together http://en.wikipedia.org/wiki/Goobuntu
Goobuntu being installed on Dell computers http://digg.com/linux_unix/Goobuntu_is_coming_
Microsoft and Novell and SUSE working together http://www.novell.com/linux/microsoft/ http://www.novell.com/linux/
A deamon should be integrated for automatic GPS/Galileo coordinate uploading. This should be automated in the deamon by the regular GPS-unit within the device. GPS/Galileo coordinate uploading needs to be done automatic to a central online database whenever a WiMax connection with enabled internet-sharing is detected (so no GPS-push tracker). This is useful to know the general whereabouts of any a person's GPS-connected portable computer. RFID-monitoring of people (via RFID implant) on the same method should also be in place next to this system. This then also allows to see possible thefts of the portable computer. Also, GPS-position broadcasting should also be done via WiMax to all WiFi receivers in the location (in encrypted form). The latter is primarily to indicate your coordinates for friends (eg especially useful for specific jobs where friends are always within a few kilometers). Also, whenever internet-connection is made via ethernet or satellite internet, the coordinates can be automatically uploaded. The deamon should include encrypted transmission, to ensure that the owners of free internet access points cannot read the information.
Supplemental information on a person's current health or activity status should be able to be given. This can then be combined with the GPS tracking of a person noted above via eg a program as Google Earth. This supplemental information is especially useful for certain jobs (eg hazardous outdoor jobs as construction,...).
A VoIP-program allowing VoIP over WiFi/WiMax, aswell as accepting incoming phone calls and allowing outgoing one (both to regular telephones/GSM's as computers should be added. Candidates are Skype, or possibly X-lite, GnomeMeeting, Kphone or Ekiga. See this site.
A plug-in should also be created for the program, to allow automatic calling to people by issuing the command "call personname" trough the microphone.
The user permissions should be heavily restricted. More precisely, there should be 2 types of users: regular users and 1 user with superuser permissions. Regular users should only be given write permission in their own document folder (called XXX's documents; XXX standing for user name). The rest of the hard drive is to be read-only for regular users; however they should still be able to see the whole hierarchy of the drive; not being restricted to only see their own folder. The superuser however is to be given read and write permission for the whole drive. This effectively eliminates the ability of regular users to corrupt the system by downloading and/or executing files & programs. If there is a necessity to update the system, install certain new software or files, the superuser (or computer administrator) can perform these tasks. In UMPC's (which are effectively used only by 1 person), this division of user permissions may seem unnecessairy; however it will eliminate the corruption of the system nonetheless. This is possible if the user always logs in as a regular user for doing daily use; when he wishes to (or when the user unknowingly downloads something) he will receive an error telling that nothing can be written to the system. This will notify or remind the user that he should not download the file (in certain cases; eg the download of an e-book, ... he may then also decide to log in as superuser and download the file for this single occasion).
In order to allow the use of battery-less motherboards, which rely on a very small (ie 128-512kb large) solid state drive (SSD) to save the motherboard settings on, an additional change to the OS needs to be foreseen. This change is the immediate synchronization of the clock shown in the OS with a time server. Support can also be added to write the current date to the small SSD after every synchronization with the time server. As a synchronization can only be done when an internet connection is established, the date will not be correct at every startup, but should nevertheless be close to it. The time will always be off, untill the time has been synchronized after booting the computer, this latter however is generally of less importance and the benefit of not having a battery on the motherboard justifies this.