sebastiano.tronto.net

Source files and build scripts for my personal website
git clone https://git.tronto.net/sebastiano.tronto.net
Download | Log | Files | Refs | README

windows-desktop.md (9510B)


      1 # The year of the Windows desktop
      2 
      3 Last year I started a new job, and my company gave me a laptop.
      4 This laptop runs Windows, an operating system I have used in the
      5 past, but that I am not very familiar with.  It is a closed-source
      6 OS, developed by a company called Microsoft, whose main paradigm
      7 is letting the user interact with the system via a
      8 [graphical user interface](https://en.wikipedia.org/wiki/Graphical_user_interface).
      9 
     10 I have tried Windows a couple of times in the past, but I never stuck
     11 with it.  Around the year 2000 my family had Windows ME desktop, and a
     12 few years later I have used Windows XP for a while. It was not unusable,
     13 but I have always found it a bit abstruse. Performing basic tasks such
     14 as writing a shell (or *batch*) script or editing a configuration file
     15 was hard or straight-up impossible. Somehow, the system got slower and
     16 slower after a few months of use. And finally, while I recognize
     17 that the closed-source development process has some advantages over
     18 community-driven open source management, I personally prefer to use
     19 things that are libre and free of charge.
     20 
     21 But a long time has passed since I have last used Windows, and it would
     22 not be fair to judge Windows 10 based on my sub-par experience with
     23 older versions. In this post I'll review my recent experience with this
     24 operating system and I'll try to answer the famous question: Is 2023
     25 going to be year of the Windows desktop?
     26 
     27 ## General use 
     28 
     29 ### Desktop and window management
     30 
     31 Let's start with a pleasant surprise: window management is actually
     32 quite good for my taste, much better than I remembered from my ME /
     33 XP times.  Windows now offers virtual desktops, like any classic DE
     34 you are used to.  Moreover, you can move your windows to the edges of
     35 the screen or maximize them with keyboard shortcuts (namely Super key +
     36 arrow keys). You can even do some (manual) tiling:
     37 
     38 ![Notepad and Powershell side by side](tiling.png)
     39 
     40 The desktop looks fairly standard, similar to KDE or Cinnamon: a
     41 bottom bar with some launchers, some status and a menu on the bottom
     42 left. I approve of not changing things when they are not broken, good
     43 job Microsoft!
     44 
     45 The start menu now is also searchable by typing, a nice improvement.
     46 
     47 ### Default apps
     48 
     49 There are some default apps installed in Windows, although I can't say
     50 which of them were actually included in Windows and which have been
     51 installed by my organization.
     52 
     53 The browser is called Edge, and it is just another Chrome fork. There
     54 is an email client called Outlook, a collaboration / video call app
     55 called Teams and an office suite called Office. In general these apps
     56 work... ok. They are all quite bloated and offer a lot of options.
     57 They have their bugs and glitches (see below), but they do their job.
     58 
     59 Honestly I am not impressed by these apps. They don't seem to offer
     60 much more than 20 years ago - except perhaps Teams, which is a recent
     61 addition. I guess users who make extensive use of their office suite
     62 might prefer this, but you'll need a pretty powerful machine to run
     63 these programs smoothly.
     64 
     65 As a positive note, the default text editor Notepad is nice and
     66 lightweight, a good piece of software.
     67 
     68 ### Package management
     69 
     70 Traditionally, the only way to install new applications on Windows
     71 was getting them from a third party source (website, CD-rom, ...) and
     72 running an installer. Things are much better now: Windows offers both a
     73 graphical "app store" and a command-line tool called Winget.  There are
     74 also third-party tools such as [Chocolatey](https://chocolatey.org/).
     75 
     76 ### Bugs and sluggishness
     77 
     78 Now let's move on to some of the bad stuff. The system overall feels
     79 quite slow and sluggish. I would normally not complain about it - after
     80 all, not all software is meant to be lightweight and quick, and Windows
     81 is clearly opting for feature richness over speed. However, with a core
     82 i9 CPU, two GPUs and 64Gb of RAM I would have expected better performance.
     83 
     84 I have also noticed quite a large amount of small bugs and a few crashes
     85 while doing completely normal operations. They range from minor graphical
     86 glitches, to workflow problems (e.g. windows rearranging in position
     87 when resuming from screen lock, video player freezing until reboot)
     88 to complete crashes. The search feature in the file explorer seems to
     89 be straight-up broken. The list goes on.
     90 
     91 All of this is not a deal-breaker. It reminds me of the early KDE 4 days
     92 - you are constantly fighting with an unstable system, but you can get
     93 your job done. Unfortunately for Microsoft, I expect this to put off
     94 many new users trying out Windows for the first time.
     95 
     96 ### Games
     97 
     98 Unfortunately, Windows 10 does not come with any game included :(
     99 
    100 ## Advanced use
    101 
    102 ### Configurability and settings
    103 
    104 One of the mistakes you can make when using Windows is trying to use it
    105 as if it were Linux. This applies in particular when configurina
    106 the desktop to your taste.
    107 
    108 First of all, Windows does not offer as much configurability as Linux
    109 does. I am not completely against this approach, it just feels limiting
    110 not being able to tune every aspect of my OS.
    111 
    112 Secondly, the only way to configure your Windows system is via a graphical
    113 user interface. I find this approach vastly inferior to simply editing
    114 a configuration file, for many reasons: things are harder to find, often
    115 hiding behind multiple layers of settings menus; the system is not
    116 reproducible, i.e. I can't copy my configuration files and move them to
    117 my next installation; and so on.
    118 
    119 ![Graphical configuration](settings.png)
    120 
    121 One terrible experience I had was trying to configure the keyboard
    122 layout to the one I am used to, that is US layout with Right Alt as
    123 [Compose key](https://en.wikipedia.org/wiki/Compose_key).  It turned
    124 out that this is not possible at all! There is also no way to swap
    125 the Escape key with Caps Lock, but I was able to work around this with
    126 [AutoHotkey](https://www.autohotkey.com/).
    127 
    128 But again, I should not complain so much: I should use Windows as Windows
    129 and accept its choices, and not get mad at it for not being Linux.
    130 
    131 ### Software development
    132 
    133 Although it does not look like software developers
    134 are a target user for Windows, it is still possible
    135 to do some programming in it.  Microsoft even offers an
    136 [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)
    137 called Visual Studio, and its own framework called
    138 [.NET](https://en.wikipedia.org/wiki/.NET).
    139 
    140 Personally I don't like Visual Studio, although many of my colleagues
    141 swear by it. I find it slow (more than one minute from launch to
    142 "ready"!) and its celebrated auto-completion features seem fine only
    143 for trivial stuff, making blatant mistakes as soon as your code has some
    144 bits of complex logic in it.
    145 
    146 One very positive note: Microsoft does offer some
    147 incredible online documentation for developers, available at
    148 [learn.microsoft.com](https://learn.microsoft.com). It is truly
    149 well-written, and a big help both for learning and as a reference
    150 manual. A win for Microsoft here!
    151 
    152 ### The command line
    153 
    154 Although for Windows the command line is a second-class citizen, it does
    155 have one, called **Powershell**. It is also possible to install **WSL**
    156 to run a small Linux system inside Windows.
    157 
    158 The Powershell's language is different from the UNIX shell. There
    159 are many similarities, such as the basic commands for listing, copying
    160 and removing files, but internally it is much different. There is no
    161 [piping](https://en.wikipedia.org/wiki/Pipeline_(Unix)), the shell's
    162 interpreter is case-insensitive and even its auto-completion feature
    163 differs from Bash's! Overall this is not good or bad, just different.
    164 
    165 [WSL](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux),
    166 short for **W**SL i**S** not an emu**L**ator, is basically a virtual
    167 machine with access to the host file system.  It can be hit or miss with
    168 graphical applications (support for X was added relatively recently),
    169 but it generally works fine for command line tools.
    170 
    171 WSL saved my life a couple of times when I had to edit a file with a
    172 quick `sed` command. Working in WSL kind of defeats the purpose of using
    173 Windows, but if you really struggle without some of your favorite
    174 programs, it is at least an option.
    175 
    176 ## Conclusion
    177 
    178 The first impression I had of Windows was that it is not an OS for
    179 everyone. Sure, if you need an advanced integrated office suite or a
    180 complex calendar + email + video call system, it might be the OS for
    181 you. But I just don't think it is suitable for a regular software
    182 developer like myself, and the frequent bugs and general sluggishness
    183 are going to put off any occasional user.
    184 
    185 But, to be fair, all software has some bugs, including Linux.  People who
    186 complain that "Windows sucks" or "it just does not work" probably just got
    187 used to the stuff that "sucks" or "does not work" on Linux.  Or perhaps
    188 they don't want to make the effort to learn a different system, or to
    189 spend a few hundred bucks for a Windows license.
    190 
    191 So why is Windows not so popular? I believe it is because people just
    192 use the OS that comes with the hardware they buy, without even wondering
    193 what operating system they are running. If more hardware vendors offered
    194 Windows instead of Linux, it would probably gain popularity. Nobody
    195 would complain that they can't run systemd or Vim, because most of the
    196 stuff people need is just a webapp nowadays.
    197 
    198 If Microsoft ever manages to convince hardware vendors to ship Windows on
    199 their products, maybe then the year of the Windows desktop will come. I
    200 wish them good luck, but I'll stick to Linux for now.