📜 ⬆️ ⬇️

Ideal OS: rebooting desktop operating systems (part 1)

Hi, Habr! I present to your attention the translation of the article Ideal OS: Rebooting the Desktop Operating System Experience by Josh Marinacci.



TL; DR: In this article I want to show that:



"Modern" desktop operating systems are bloated


Let's look at the Raspberri Pi. For $ 35 I can get an amazing computer with 4 CPU cores, 1 GHz for each! Also here there is a 3D accelerator, gigabytes of RAM and built-in wifi / bluetooth / ethernet. For 35 bucks! And yet, for most of the tasks that I do, it fits no better than a 66 MHz computer that I used as early as college.


image


In fact, in some cases, everything is much worse. To get 3D acceleration for Doom, which was a trivial thing for Microsoft Windows in the mid-90s, it takes incredible effort for X windows nowadays.


Below is a screenshot of running Processing on Rapsberry Pi with hardware acceleration. And this is only possible thanks to the fully custom video driver for X Windows, which is still in the experimental stage. 5 years after the release of the Rapsberry Pi.


image


Despite the problems of X-Windows, Rapsberry Pi has a surprisingly powerful GPU that can do things like in the screenshot below, but on condition that we get rid of X-Windows. (Specifically, this screenshot is made from OS X, but the same code runs on Pi 3 with 60fps)


image


Or another example. Atom is one of the most popular text editors for today. Developers love it because there are a huge number of plug-ins for it, but let's see how it works. Atom uses Electron, which is essentially a full-fledged web browser that goes hand in hand with the NodeJS environment. These are two Javascript engines included in one program. Electron applications use the browser rendering API, which delegate the rendering to the native libraries, which then access the GPU (if they are lucky) to draw to the display. So many layers ..


image


For a long time, Atom was not able to open files larger than 2 megabytes , since scrolling would work very slowly. The developers solved this problem by writing a buffer implementation in C ++, essentially removing one of the layers.


image


Even fairly simple applications are too complicated these days. The email application presented above is conceptually very simple. It only has to have a couple of requests to the database, a text editor and a module for communicating with IMAP and SMTP servers. Still, writing a new email client is a very difficult task. And if you want to modify your email client or an existing one (for example, Mail.app is a standard client for Apple computers), there is no easy way to do this. There is no plugin system. No API to extend functionality. And this is all a consequence of the bloated number of layers.


Lack of innovation


Innovation in desktop operating systems has by and large been sent to the graveyard. One can argue that they ended up somewhere in the mid-90s or even in the 80s with the release of poppies, but it is obvious that all progress stopped after the advent of smartphones.


Mac OS


Mac OS X was once a ray of light in this dead realm - each release showed the progress and ingenuity of Apple engineers. Quartz 2D! Expose! System sync device! Widgets! Nowadays, Apple from time to time changes the theme and increases the attachment to the mobile devices of its production.


image


The latest version of Mac OS X (now renamed macOS in honor of where they were 2 decades ago) is called High Sierra. What exemplary features are we looking forward to this fall? New file system and new video codec. And it's all? Well, they also added editing to Photos application, which was already in iPhotos, but was removed after one of the updates. A and auto play lock in Safari.


Apple is the most expensive company in the world and that's all they can do? Just interacting with the desktop OS is not a priority for them.


Microsoft Windows


At the same time, Microsoft was trying to reinvent the desktop as an operating system for touchscreen tablets and phones. And it was a disaster from which they are washed to this day. For all the development time, they have not added a single function that would be useful for desktop users, while spending an absurd amount of money to create wallpaper.


image


Instead of improving user interaction with the system, they focused on a new model for adding applications, increasing the number of layers on top of the old code. And by the way, Windows can still run applications from the 90s.


The Windows console - CMD.exe, which allows you to run DOS programs, was replaced only in 2016. And the biggest feature of the latest release of Windows 10 is that they added the Linux subsystem. Everything is puffier and puffier pie comes out.


X windows


image


X Windows improved even less than others. In fact, this is a remarkable example of immutability. People have been complaining since the early 90s . I am very happy that I can dress up my GUI, but what about the system clipboard, in which you can not store more than one item at a time? This is unchanged from the 80s!


X Windows added window layout managers in the mid 2000s, but because of this, it’s impossible to use them for anything other than dragging windows


image


Wayland supposedly had to fix it, but it has been under development for a decade and is still not ready! Compatibility with the old API is a very heavy burden. I think Apple was right when I shoved the old macOS into the emulator, cutting myself off from the ancient code.


Workstations?


Initially, desktop operating systems became easier to use as soon as the mass market accepted them; then the mass market swung in the direction of smartphones and all interest in improving the desktop interface was dull.


It makes no sense to blame Apple or Microsoft (and already Google) for this. 3 billion smartphones are replaced every 2 years and this is a much more lucrative market than a few hundred million PCs and laptops, changing, God forbid, every 5 years.


image


I believe that in order to return to improving the desktop interface, we must reconsider our attitude towards them. If personal computers are free from the title of product for the masses, then they should be considered as a tool for work - workstations.


Things that are still not available to us in 2k17


In the yard in 2017. Let's look at things that should exist, but which are missing for some reason.


Why can I attach and detach tabs within my browser or file manager, but cannot do the same between 2 different applications? There is no technical reason why this would be impossible. Application windows are just images, but the guys the developers do not add this feature, because it is not a priority!


Why can't I put the file in two places of my file system at the same time? Why does it have to be hierarchical? Why I can not sort files by tag or metadata? File systems with database principles have existed for decades. Microsoft even tried to implement them with its WinFS , but deleted it from Windows Vista just before the release, thanks to Legacy. BeOS introduced it 20 years ago . Why modern desktop OS can not in it?


image


In any web application, you can zoom. Just press Ctrl + and the text will be larger. Everything inside the window automatically adapts to the scale. Why can't native applications do this? Why I can not have on the screen two areas of different sizes for windows? Or even scale them automatically when moving between windows? All these things are simple to disgrace with the composite window manager, which has been commonplace for over a decade.


Limited interaction


My computer has a mouse, keyboard, tilt sensors, light sensors, 2 cameras, 3 microphones and a lot of bluetooth accessories, but only the first 2 are used as basic input devices. Why can't I order my pc to do something with voice or gestures?


Why is my computer not following my eyes to see what I read or scan what I have in my hands to use these cool AR technologies that have come to my phone. Some functionality exists in isolated applications, but it does not apply to the entire system and it is not programmable.


Why my Macbook cannot connect to interesting HID devices using Bluetooth instead of syncing with Apple Watch. But no, poppy is not able to synchronize with Apple Watch. Another place where my desktop takes a supporting role.


Why doesn't the computer use anything for output other than the display? My new Razer laptop has RGB backlighting under each key and their only functionality is the transfusion of color waves ! How about using these LEDs for something really useful ?


Program combines


Each more or less useful application has its own part of the file system, its own configuration system, database, file format and search algorithms. And also own hotkeys. An incredible amount of duplication!


But the most important thing is that poor communication between applications makes their coordination very difficult. The fundamental principles of Unix are that small tools work together. But X Windows does not support it from the word at all


Created for 1984


Why are our PCs still so clumsy? Mainly because they were created for the year 1984. The desktop GUI was invented at a time when most people created documents from scratch, saved and printed them. If you are lucky enough, you saved the document in a shared file system or sent it by email. That's all. A graphical interface was created to solve problems that were previously carried out with paper.


The problem is that it is 2017 in the yard. We are no longer working in the same way as in 1984. On a typical day, I will take some code from various websites, put together several tests and generate a data structure representing the result, then send it to others for reuse . Import, synthesis, export.


I created VR content. I skollazhil image. I sent messages in a dozen social. networks. I created a perfect playlist of 30,000 songs. I process an order of magnitude more data from more places than was possible 20 years ago. Desktop operating systems are simply not able to scale to modern tasks. And I need a computer that will help deal with this avalanche of information.


In the next part, the narration will go about how it will be possible to come to the solution of the problems described.

')

Source: https://habr.com/ru/post/337010/


All Articles