Language Selection

English French German Italian Portuguese Spanish

Looking at the computer experience

Filed under
Linux

I want to start at the basics. Just like when I first went to computer networking classes and we worked on Novell Netware. Yeah, it's been awhile.

Question, what is a computer?

Answer, a computer is the material components connected together to perform specific tasks. ie... motherboard, memory, processor, video card, usb ports, serial ports, monitor, printer, mouse, keyboard, etc...

Question, what is an operating system?

Answer, an operating system is a collection of software that allows all the material components of a computer to communicate and interact. It creates an environment in which other software applications are able to interact with the computer in order to perform their intended purpose.

Question, what is an application?

Answer, a software application is software that works to allow a person or another program to perform tasks. It interacts with the operating system and the computer to complete those tasks. ie.. a word processing application allows users to type on a computer as if it were a typewriter then perform other tasks for editing, storing and/or printing those document files.

Now as I was going through my training as a network technician/administrator those years ago, our world, as network folks, dealt primarily with the computer and the operating system. Few end user apps really held much interest or use for us except where they related to connectivity, network access, etc...

Back then, Windows was still in DOS and by the time I was done, Windows for Workgroups 3.11 was the new thing.

Believe it or not, Netware wasn't altogether too different from Linux in my opinion. It was all command line, you had dang well better make sure your syntax was correct and people still complained that Windows wasn't playing nicely.

Back then we talked about our role as support providers for users on a network. What do people "do" on a computer?

People need to access or "log in".

People need to create and store files locally and on remote network servers.

People need to access services and devices both locally and remotely such as printers.

Back then, there was somewhat of a divide between systems. Local computers were said to run a Disk Operating System. Servers ran Network Operating Systems.

Local computers ran Windows or Apple. They were focused on the GUI and that's what the typical user saw and interacted with.

Servers ran Unix or Netware or the like and were command line oriented and it was considered a digital sin to suggest using a GUI on a server.

Now Linux is based on Minix which is based on Unix which is historically known as a network or server operating system.
My perspective is that Linux is suffering from the same problem as Windows and even Apple to a degree, but mostly Windows which is trying to be everything to everyone. Essentially, it wants to be the powerhouse, stable and reliable server operating system but be a user oriented, local machine operating system at the same time.

Let's go way back to mainframe days for a minute. The server operating system had to be a multi-user system by the nature of it's design and implementation. Lot's of people sitting at dumb terminals all logged in to the server and frequently, the same apps, at the same time.

Windows came in and initially, reversed that. One computer meant one user at a time. There was no way you were going to log in multiple users simultaneously. MS had to adapt Windows as it went along when they realized that the "one computer, one person" rule they had set wasn't going to be sufficient.

Linux is coming from the opposite direction. It has multi-user access natively built into it. It IS a server OS before it is anything else. The adaptions have to come from the single user end for Linux.

Hundreds of Linux distributions have been created trying to make that ideal mashup of Linux into a single user like OS.

Why do people use computers? To do things, to complete tasks. What aspect of the computer do people interact with the most? The apps that allow them to do those tasks.

Linux needs apps. You might say that Linux has apps, thousands, tens of thousands of them. You would be correct. At the same time, Linux developers who want Linux to be used by people other than technicians and developers need to understand that the average user wants "pizazz".

Finally, we have some apps that are nearing that goal. Open/Libre Office is one for example. Thunderbird, chrome, firefox. We need more however, many more.

In terms of solving the ideal single-user system for Linux, I think Android has the ticket. They make use of the powerhouse capabilities of the server operating system, but only show the user the stuff they want to use, the apps.

A smartphone is not a laptop or desktop and people like to keep familiar things familiar. The efforts by many developers to turn desktops into smartphone look-alikes is going to backfire because end users are usually smart enough to know they are not using a phone.

To be honest, I don't think Linux will hit it's desktop "sweet spot" until the main user interface/menu is voice driven and frees the monitor real estate up to show the user only the apps they tell the computer they want to see.

More in Tux Machines

Default window manager switched to CTWM in NetBSD-current

For more than 20 years, NetBSD has shipped X11 with the "classic" default window manager of twm. However, it's been showing its age for a long time now. In 2015, ctwm was imported, but after that no progress was made. ctwm is a fork of twm with some extra features - the primary advantages are that it's still incredibly lightweight, but highly configurable, and has support for virtual desktops, as well as a NetBSD-compatible license and ongoing development. Thanks to its configuration options, we can provide a default experience that's much more usable to people experienced with other operating systems. Read more

Red Hat/Fedora Leftovers

  • Call an existing REST service with Apache Camel K

    With the release of Apache Camel K, it is possible to create and deploy integrations with existing applications that are quicker and more lightweight than ever. In many cases, calling an existing REST endpoint is the best way to connect a new system to an existing one. Take the example of a cafe serving coffee. What happens when the cafe wants to allow customers to use a delivery service like GrubHub? You would only need to introduce a single Camel K integration to connect the cafe and GrubHub systems. In this article, I will show you how to create a Camel K integration that calls an existing REST service and uses its existing data format. For the data format, I have a Maven project configured with Java objects. Ideally, you would have this packaged and available in a Nexus repository. For the purpose of my demonstration, I utilized JitPack, which lets me have my dependency available in a repository directly from my GitHub code. See the GitHub repository associated with this demo for the data format code and directions for getting it into JitPack.

  • Build a data streaming pipeline using Kafka Streams and Quarkus

    In typical data warehousing systems, data is first accumulated and then processed. But with the advent of new technologies, it is now possible to process data as and when it arrives. We call this real-time data processing. In real-time processing, data streams through pipelines; i.e., moving from one system to another. Data gets generated from static sources (like databases) or real-time systems (like transactional applications), and then gets filtered, transformed, and finally stored in a database or pushed to several other systems for further processing. The other systems can then follow the same cycle—i.e., filter, transform, store, or push to other systems. In this article, we will build a Quarkus application that streams and processes data in real-time using Kafka Streams. As we go through the example, you will learn how to apply Kafka concepts such as joins, windows, processors, state stores, punctuators, and interactive queries. By the end of the article, you will have the architecture for a realistic data streaming pipeline in Quarkus.

  • Fedora 32 : Can be better? part 012.

    Pidgin is a chat program which lets you log into accounts on multiple chat networks simultaneously. Pidgin can be install on multiple operating systems and platforms. Pidgin is compatible with the following chat networks out of the box: I.R.C., Jabber/XMPP, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, and Zephyr. Can it be better? The only problems a user in need of help may have are in the command line environment. Obviously, in this case, this application cannot be used. I would suggest building a terminal application like WeeChat dedicated to Fedora users and including I.R.C channels. Now, let's install this application.

Touchégg 2.0.0 Released: A Linux Multi-Touch Gesture Recognizer App

For years, it has continued to work in every desktop environment. However, as the Linux desktop has advanced a lot, Touchégg fails to work on desktop environments using modern technologies like Wayland compositor. Therefore, Jose has now revised, completely rewrote the old version, and released a new version 2.0.0 after more than years of gap. The new release aims to make the app compatible with new technology stacks incorporated in GNOME, KDE, and other desktops. Read more

Linux 5.10: Freedreno/MSM Driver and Broadcom Ethernet

  • MSM Adreno DRM Driver For Linux 5.10 Has DisplayPort, Per-Process Pagetables

    Rob Clark who founded the Freedreno/MSM driver project and current Googler sent in the MSM direct rendering manager driver updates targeting the upcoming Linux 5.10 merge window. This time around the Adreno kernel graphics/display driver has some notable additions. With Linux 5.10 the MSM DRM driver now has DisplayPort output support for Adreno hardware with DP outputs.

  • Broadcom Has 200G Ethernet Link Speed Support Coming To Its Driver For Linux 5.10

    Broadcom engineers have prepared their Linux network driver infrastructure for supporting 200G link speeds. Coming to Broadcom's "bnxt_en" Linux network driver in Linux 5.10 are the necessary alterations for handling 200G links. It was back in late 2018 when Broadcom first announced the world's first 200G Ethernet controller utilizing 50G PAM-4 and PCI Express 4.0. Now as we approach the end of 2020 and prepping for an interesting 2021 of new hardware, bnxt_en is ready with this 200G Ethernet link speed.