Technological Grail Quest and some reviews too.

Post Page Advertisement [Top]

There are so many things I am attempting to do here, but one of them is provide the experience of Microsoft Windows to users who use Linux boxes I design.  Here is one of the main reasons I am doing this.  The first is simple, I have users who do not know what an OS is, what a web browser is, or for that matter, how they work together.  Many of them make the mistake of thinking that a personal computer (PC) is a machine that has Microsoft Windows on it.  While I can make the case for the use of Open Source software and the Linux OS, I can not really make them understand how an OS is software, not hardware.

For those users that are running games, like Skyrim and Assassin’s Creed 3, it would seem that Microsoft Windows Operating System (MSWOS) is the only option.  I would generally agree with them, as such resource intensive programs would not run well in emulation on a Linux OS like Ubuntu.  However it is likely that with the right hardware configuration, and some tweaking of a Linux OS that is not resource intensive (like Tiny Core Linux OS) it is possible to build an application layer Linux PC that functionally will run almost any MS Windows OS based software.

The biggest issue here is that most of the users are accustomed to the MSWOS interface, and even a moderate change in the GUI creates anxiety.  They cannot separate the OS from the hardware, or software in general from hardware.  They get a computer, and it has an OS on it, and that is what they use.  Even to the extent of the browser, they are not aware that their internet browser is a application on top of the Operating System (software) GUI.

Along the way back, oh some several years ago, I contemplated creating a HUI, and did some research in that area, mostly concluding that the hardware was not readily available for a true HUI as opposed to a GUI based system.  Still the hardware and middleware is not there for a true HUI based system.  What is a HUI as compared to a GUI, well if you don’t know, I am not sure it matters.  Just for the sake of clarification, a GUI is a Graphical User Interface, and a HUI is a Human User Interface, both of which are opposed to the CLI or Command Line Interface of the first Personal Computers (PC’s).  Technically the GUI or HUI are layers on top of the CLI, but that matters even less to the general run of PC users.  Considering this is all just jargon for developers, and means nothing to the end user, I will refrain from going into details, and state simply that the time for a HUI is not yet, so it is still the time of finding a way to make a GUI that users can work with, that suits them, and still is open source.

Here is the real problem, open source.  If you are playing a resource intensive game like Sims 3, that is not an open source project, you must buy the game, and it only runs on MSWOS.  I could go into the whole game thing here, and other proprietary software issues, like AutoCAD, but that is not the scope of this document at all.  This is how do I get my users, the ones that purchase hardware from me, to use a safe operating system, while at the same time give them the experience of using MSWOS, up to and including running some programs that require MSWOS.  Since most of the users I provide services to do not have large networks, and do not operate in a commercial setting (that is a different user altogether), it is more about the surface of things than any real operating system or application.  They do not understand applications, API, API layers, libraries, hooks, allocation of resources, windows managers, input devices, I/O and other such technical details, they only understand that they want to turn the computer on, watch movies, play some games (both online and downloaded), chat with their friends, check their email, surf the web, and maybe create some documents, organize their photos, maybe edit their photos or videos, and post this stuff online to their favorite sites.  

Theoretically speaking if we were going back to the HUI, we would be looking not so much at what programs provide these types of operations, but how to make them available in such a way that the user would not have to think about what program does what, but what they want to do, and the computer would do the processing.  We are not yet there, although I am working on that, and may have some new information regarding that aspect of computing at some time in the near future.  This is now, and I need to fix the issues I have today with that which I have today to work with.

The basic applications are the browser, the office suite, the multimedia suite, and lastly but certainly not least, the ability to easily load and play games.  In addition, the ability to network, and use the computer to stream across multiple devices adds additional complications.  What I need to do is deliver a computer to my users that will start up quickly, provide to them a familiar interface, and give them all the various applications they are used to, in a seamless manner, that will not require them to learn a new way of operating.  They also do not want to learn a new filing system, or really understand why it works the way it does, but have it work every time, the way it was supposed to, or at least how they were made to believe it was supposed to.  They do not want me explaining how to use their computer, since they all know how to use a computer, if they have to learn something new, they will go somewhere else, where they can get the latest MSWOS PC with all their usual programs pre-installed.

As of today I have not quite found a good replacement for MS Office.  Apache’s Open Office (formally Open Office) and its derivatives do not exactly replace the desktop version of MS Office, especially at the Professional level (which includes Access Database), or whatever they are calling it now.  To give the user an exact experience and still stay within the open source software movement, requires the customization of a currently available version of AOO.  This is what I would have to do, to provide my users with the interface they are accustomed to.  This includes the customization of the saving of documents to specified locations, and in formats that are not native to the software.  Fortunately AOO allows this, and skins are available that make it possible to even change the look of AOO to be nearly if not exactly like MSO.  The true shame is that most of my users are not capable of understanding that they should be using an online office suite like Google Docs (now Google Drive) like I am using now to write this document.  There are a few issues with the online options, but except for those that really need DTP capabilities, such web enabled services1 are better.

However; not everyone is able to make that leap, sometimes only because they just do not have access to the necessary network capacity2.  If there were a off-line version of Google Drive that operated natively in the Linux OS space, with the customization capabilities that would present a common interface that my users were familiar with, it would be the better solution.  It is not yet there, so back to configuring AOO to act like MSO and hoping that will do it.  Unfortunately I know that at some point my users will attempt to do something like update their software, or change something, or try to load something, and it won’t work, and I will have to figure out a way to fix that, but by then I will have maybe shown them that the cost of maintaining their systems on open source is better, and they will have seen the OSOS light.  I know this is not to be the case, but even with a MSWOS and MSO, I can expect service calls in the middle of the night as they try to do something, or even when MS decides to change something, and they get that update, and the next time they open their work, the interface is not exactly the same, I can expect calls.

The idea is that the user is not aware of updates, and they have no ability to update anything themselves, but that is really expecting too much of them.  Unfortunately people have gotten used to the idea that the computer is something they can play with, add software however and whenever they like, and it will just work.  The basic user won’t fix their toaster, arguably one of the most basic appliances in their house, but they figure they can fix their computer, probably one of the most complicated appliances in their house, go figure.

All this aside, I continue my work to make a computer that my users can use, that will not seem like they are using anything different than that which everyone else uses, except that they are.  I have to somehow provide them with a way to update and load software that they want, and yet not destroy the configuration I have done to make it work in the first place.  Linux OS’s generally update quite often, including kernel updates which require the administrator password to ensure the security of the update.  This will cause an issue if I cannot find a way around this.  If all my users were connected to my network, like a commercial style network setup, I could perform all the updates across the network, and they would not know the difference, at least as far as the basic operating software was concerned.  I could also set each user up as a standard user, and therefore they could not add software without it being part of an approved set of software, or would have to wait until I was able to set it up and allow them to access it, like I do with my commercial users.  However this will not do for the average everyday computer user.  They want their level of control over what they put on or off their computers.  Even if this is really just a false sense of control, as all the real work goes on behind their eyes, at the basic level, with DLL’s and hooks, and other such things being made and compiled under the guise of the software being installed.  This is all done in the background, but the user sees it as a small box on the screen, maybe even as a splash screen, that says to the user the software is being installed.  I wish I knew how to explain this process to the user, but it is just not possible.

...And Tomorrow We Continue This

1 Bussler, Christoph, Dieter Fensel, and Alexander Maedche. "A conceptual architecture for semantic web enabled web services." ACM Sigmod Record 31.4 (2002): 24-29.
2 "Strategies in Network Capacity Planning and Network Optimization ..." 2008. 13 Sep. 2013 <>

No comments:

Post a Comment

Bottom Ad [Post Page]

| Designed by Colorlib