Wednesday, July 31, 2024

The Background to Evolution of Window Managers

Even though, I would address evolution of Window Managers in general, my main deviation in this piece is how Linux contributed to the rapid progress in Software Development.

Resource Management

In the early days we had big mainframe computers and limited memory to share.
There was no graphic component but blank and black terminals connected to the mainframe which had to be switched on and off through telephone lines.

The vision of those days was for the knowledge in text form to be shared locally within a campus and globally over many universities.

To help this process www was created.
Early days connection was made through Lynx, a keyboard dependent Web Browser.

Apart from the hardware, Internet and Web Browser, both dependent on Software contributed immensely to our technological leap.
 
Fast forward, Google which has only minimal of Linux code and simple graphic 
front end and a powerful search engine with its browser dominates the world, now outside of those universities and rapidly expanding with a minimal of core working force, rightly or wrongly aided by significant AI component minimizing the need for a big human workforce and guys and girls losing their jobs.

The 3 components of Google are
1. Kernel borrowed from Linux.
2. Graphical front end.
3. Browser based powerful search engine.
 
Unlike Firefox, it does not have to waste time in development of the browser but only on the advertisement component tagged by the Java components.
 
Winners with minimal contribution at large.

The core team of Google saw the potential and I do not envy them.

Of course Goggle has jumped into hardware in the name of Android and it's variety of cellphones.

Now take Apple in general.
It has Unix 
It has hardware.
It has Safari browser.
It has applications bound to it's operating  system.
All are closed source and one has to pay a fortune to acquire all of them.
User becomes a prisoner even though, he  or she pays a fortune to become a prisoner.
Any attempt to change the Code of Apple is considered to be jail breaking.
 
Microsoft Windows come to capitalize on this framework and I would come to that later.

If not for Linux mankind would have only two operating system both closed.

Then comes the visionary figure but I call him a philosopher for good reason.
He would be long remembered but the other guy who was known to have associated with Epstein would be remembered with pain and disgust.

Richard Stallman saw what was coming and decided to put breaks in the name of Free Software in 1980s.

But he did not have a kernel to port it.

In comes Linus Torvalds with a microcode but open source in 1992. 
 
Put them together a new Open World of Software was born.

Let me go back to mainframe.
It was client server architecture.
Server has all the resources and the operating system.
Black Terminal was the link to the system.
Programs were basic Vim and Emac.
But good in old days memory had to be shared.
 
This is my entry point to X-Windows and it remains at X11, as a industry standard but it has the software language of its own but No Windows to play with.
Windows had to be built on top of this Industry Standard Tools.
So extensions had to be added on top of the standard base.
It did not have graphics to begin with only texts, so graphic extensions were added on top.
With these two extensions it became a workhorse in early days with only a keyboard for inputs and monitor for outputs.
 
Mouse was not in existence.
 
Monitor with so many pixels had a grand potential and this is where Window Managers started coming one after the other.
Black box became Fluxbox.
Later;
Window Manager
Awesome.
dwm
fdwm
herds
xmonad basically a tiling manager.
i3
iceWarm
Spectrum 
Enlightenment
Moksha
Gnome
KDE
xFce
CDE 
 
Common Desktop Environment was proprietary and the above Window Managers came into existence to counter the proprietary trend.

Gnome is the base, it actually does not have a typical window but a standard desktop.

Cinnamon, Mint, Mate and Budgie were built on top of Gnome were the major stake holders with considerable Memory capacity to hoist them.

Whereas, the early light weight Window Managers went into hibernation and    I was not at all interested in them even with a terminal emulator.
But I really had a liking for Enlightenment but not Moksha

Over time these little and light weight Window Managers integrated with terminals as terminal emulators.

Terminal guys started using lot of tiling components and these tiling abilities were enhanced by variety of Window Makers.

That is where we stand today.

If I did not plan writing a book on Linux, I would have never entered into those domains.

Simple reason is, I am only interested in Linux Output and not how the Windows appear on the desktop.

In search of correct not faked information, I am only interested in a page or pages of content and not the frame these information is incarcerated.

This is what I tell the guys who are arguing for Wayland instead of a simple X11 standard.

What matters is the Work Output not the Window Dressing.

My standard is Gnome and I am happy with it and I do not want Mint or Cinnamon.
 
That's it.

Now let me come to Windows briefly.

The top guy of Windows Network builder was working for X11.
He was a bright guy.
He was getting fed up with the standards and he voiced his concerns and he was fired.
Once fired he did not have any industry obligation, he got the bright idea to integrate Memory and Graphic Output, in One Box instead of client + server architecture.

Window boxes were born and there was no turning back.

Mainframes were relegated to server domain and a few server administrators to manage the big frame.
A dead end but the are still hosting large amount of Corporate Data.

Whereas, with the ongoing development of graphic environment which was only raster or two dimensional windows more and more features including colour shades came into existence.

There are million colour shades a computer can generate but we humans can see only about 256 colours.

Still the dynamic rendering or 3D output were not a available for ordinary PCs.
Without a good graphic card PC is nothing but a RAM architecture.
Kernel
RAM
Video out puts are the basics.
 
Since,early days RAM was the limiting factor. 
Videos or Graphic had to be managed separately and shared with the basic RAM.
 
With the gaming platform coming to forefront the development of graphic cards with the sole aim of profit making, this industry with rich venture capitalists (including Valve and Steam Deck) had a healthy boom and became the driving force of the industry.
 
There is nothing called Free Software in Graphic Card industry.
 
Linux guys had to break the code one by one  and it seems Nvidea GeForce (530 dollars) and AMD Radeon (800 dollars) are ruling the gaming world.
 
One can make a Server Farm with 800 dollars with 8 NUC basic hardware.
 
FreeNAS is an example.
 
I am happy with my NUC where CPU and Graphic are integrated and it is only 100 dollars. It is becoming apparent that in the near future we would be able to buy a NUC or Mini PC for less than 300 dollars which are more versatile but under the price hood of Steam and Deck.
 
I may or may not buy one depending on its power consumption and cooling capability with a simple fan. 

I do not want a  computer that catch fire while playing a simple game.

Problem with powerful graphic card is that it consumes lot of energy, it gets heated up when the frame rate pet second goes up (fps for short). 
 
A graphic intensive games would consume 3 times the minimal fps our brain can handle and make us believe or go into the delusional state of a fast playing video game.

That is the bottom line and the summary of my entry to Window Managers.

It is all cosmetic and appearances are always deceptive.









No comments:

Post a Comment