My attempts to run Linux date back from 2001. Then I tried to install Slackware Linux, but failed miserably and the way it happened convinced me to never try Linux again. It was until 2009 that this lasted, when I saw that virtual machines like VirtualBox were appearing, which allowed for different operating systems to be tested prior to installation. But then I had trouble running VirtualBox and was not sure how to configure it properly. So I uninstalled it. Probably 1-2 years later I installed it again and found that it has changed quite a lot since the last time. This time I was able to attach different images, most notably Fedora, but found virtualization to be very slow on my hardware. Fedora's system requirements further contributed to a less than a perfect experience. Nevertheless, this time I was happy that at least I "saw" a desktop. So I though, there must be something that runs more smoothly even on a virtual machine. Ubuntu also worked, and while lighter than Fedora, the difference was almost not noticeable to me. Then I tested some other lightweight distribution and it gave some kind of strange "SMBIOS..." error at startup and refused to load further. I thought that this could be a problem with my BIOS, which was not accessible for me, at least not without the right password. But it seemed strange that a single point of failure allowed for a whole system to stop working. Probably 1,5 years ago I tried Linux Mint with the secret hope that I won't get the SMBIOS error again. To my surprise Linux Mint loaded relatively fast and was also very responsive and more beautiful than what I have previously seen. However, my second thought was that this overwhelming beauty might be masking underlying problems with the system. Something didn't feel right for me, even if simpler operations seemed to work as expected. I suppose that Linux Mint is even better today, at least from what I hear. More recently I tried Lubuntu in search for something even more lightweight. It is based on the Lightweight X11 Desktop Environment (LXDE) and the OpenBox window manager. So here I will share my impressions.
Lubuntu loads quite fast, even on a virtual machine. The loading time through virtualization is the equivalent of the loading time of Windows7 on my hardware, so I suspect that when installed Lubuntu is much faster. As a next step I burned a LiveCD in order to get a better feeling of it. Again, I could see the aforementioned error, but it didn't last on screen for long.
Compared to Ubuntu, it has much less software, but a more carefully selected one. It doesn't have a distracting bar full of program icons on the left; just the bar at the bottom makes it look cleaner. Software updates are easy, but if you load from a LiveCD, it is possible that your package manager breaks due to the lack of disk space. If you are like me, you may not be able to easily make it work again, but it should be possible. I also noticed that the package manager is a bit unstable when you try to load another program that tries to read or change the installed packages.
The look and feel of the window manager is satisfying—neither too beautiful, nor too ugly. The OS is the only software we spend our full time in, so it is important that we actually like it. Windows can be dragged and resized quite smoothly. Hovers and clicks on menus work immediately. As in most Linux distributions, customizing the "taskbar" is easy. The only problem I encountered during my short test was that the use of the right mouse button was bringing up a window with information of the creators of the window manager instead of giving an option to customize the taskbar settings. But on Windows my right mouse button isn't working too, the menu that is supposed to come up is blinking 2-3 times and then either stays or disappears. It's different every time and pretty annoying. I still haven't found why this happens and how I can fix it.
In Lubuntu virtual windows exist by default and I like not only the way they are switched, but that during the switch I get a subtle feedback on which screen I currently am. While the screen contents change, the feedback isn't blinking, which is a nice touch that makes things feel immediate and responsive. This essentially means that the default widget can be removed to make room for more open windows.
Sending the graphics signal from my laptop screen to my monitor was a matter of a single click. This is harder even on Windows where I have a specific driver for my graphics card. Screen resolution is recognized immediately, so I don't have to adjust anything manually.
From a networking perspective, I initially had a problem that my wireless connection wasn't recognized, which had an annoying effect. The network icon near the clock was multiplying itself over a short time and each time it brought a window that asked me to send feedback to the creators. Because I couldn't find how to fix this immediately, I might have sent more times feedback than they would like, for which I apologize. The network icon was duplicating itself as if it had a timer for when the next one should appear. This continued until I saw seven network icons next to each other. At that time they started to disappear one by one again. And then the timer brought them to life again. So I tried to get a cable connection and see if I could find a way to fix it. When I plugged the cable in, I typed a simple command in the terminal to get more information about the network cards and the connection status. Then, somehow the wireless signal has fixed itself and I was able to unplug and use the Wi-Fi signal, without fully understanding what exactly I did that fixed it.
The responsiveness of Lubuntu exceeded my expectations. Because individual programs were well optimized, I was able to literally have many dozens of windows and it almost felt like they weren't there. The default browser in Lubuntu is Chrome and it starts even faster than on Windows, but this could be from the fact that it comes with zero plugins. Lately, with Chrome on Windows, I experience that after typing an URL and pressing <Enter>, the browser takes around three seconds before even starting to download the page. I suppose that to fix this, I may need to uninstall some plugins and test again.
I was quite surprised of how Lubuntu dealt with the available RAM. With no additional applications started the task manager showed that around 210MB was occupied. When I started Chrome, this number grew to around 235MB. This is still very impressive and it means that even a system with 256MB RAM can possibly be used to browse and start a couple of applications. I have seen WinXP on such a system and it lagged greatly, but it worked. In comparison, Windows7 takes sometimes over 1,2GB of memory on my machine. What is also great in Linux is that unneeded memory is released fast and always to the same "before" level, which isn't the case with Windows7. There seems to be a little catch with the Linux behavior though. When I started the top command in a terminal window, it showed that practically all my memory was occupied. This didn't make me happy, because my immediate parallel was that filled hard disks are much more likely to get corrupted. Then I read a couple of articles online, which explained that Linux caches the hard drive in the RAM to allow faster accesses in the future. Well, this is fine, I thought, but should the cache be really ten times more than what the OS says it takes? Everyone would probably have a different opinion on this, but I think that full performance shouldn't be an end station, when there is a danger of not having a system in a safe state. I know that to arrive at the conclusion of doing so, Linux uses a whole palette of tricks that work together and that I am very likely to never fully comprehend. For instance, I don't know whether "the majority of the memory is only sleeping and not really used" is a good or bad thing, because it always depends.
Another thing I noticed is that Lubuntu tried to be very precise. Keyboard and mouse could be adjusted in very fine steps; hardware information was very detailed; the audio driver in retro interface allowed fine adjustments of all important sound aspects (speakers, headphones, microphone and others) and it was entirely accessible and usable through the keyboard. I could use the left and right arrow keys to move between the different aspects and I saw the current active one marked in red. Then with the up and down arrow key I could increase or decrease its volume, which is brilliantly intuitive. Another precision point was the list of dependencies that every package used, so I knew exactly what I was going to install before pressing the button. Packages never need to be installed one by one: you collect in a bag anything you want and once you open it, you have the option to install everything at once.
Overall, I think that Lubuntu is a great system to test on a machine where we could freely experiment. It takes time to get used to Linux, so it is better to start on a clean system and learn the basics step by step. There are many terminal commands and to use them effectively a lot needs to be learned. And we need to be able to overcome lots of the initial frustration, which may not be easy. As some people have pointed out, the terminal isn't always the fastest way to do what we want, especially when lots of typing is involved. Sometimes a GUI is more effective. The directory structure is also very different from the one we are used to, so finding where certain files reside might not always be trivial. Maybe one day I will finally install Linux on a dedicated system.
Linux could be worthwhile to study for every web designer and programmer, because it gives an access to an array of programming tools, which can sometimes be easier to use under Linux. For instance, if we write Python code, Windows would append r
(or 0D0A as hex value) to the end of each line, whereas Linux would only use
(or 0A in hex). (With hex values it is easier to see what symbol we are currently using.) When we try to upload a Python file created in Windows on our Linux-based web server, we could get "500 internal server error". The Apache error log could give us more information of why similar errors happen. Of course, we could go through each file to replace the wrong hex values, but this isn't feasible to do for every file we want to upload. In this case, we also need to remember that each uploaded file needs to have 755 permissions and be uploaded in ASCII mode. All this requires the necessary adjustments in our FTP program. And once we need to upload a file in binary mode (say PDF), we need to repeat the process. I'm still seeking for a reproducible way to make Python code work after every upload. If I have to juggle constantly between two different shebang definitions (#!), I'm more likely to think that writing the code in Linux would be a better choice.
I couldn't test how GIMP would perform under Linux, because as already said the package manager broke. But on Windows it loads countless of packages, which generally takes longer than loading the OS(!). For me, this isn't a sign of good software, so I have recently replaced it with Artweaver, which works fast and mostly has what I need. That SSDs are available doesn't mean that software should require them to be operational. Accessibility is just as important for a web designer as it is for a software developer.
What the people behind Linux are generally improving over time is the user experience—something what every web designer also pays close attention to. So it really helps to get ideas how an operating system deals with interactions and think how they can be improved, even when the payoff of doing this exercise won't be immediate. Merely asking questions of why things are done in a particular way can reveal interesting insights. Paying attention to small and important details in the GUI can also make us better designers. We may think that a website has nothing in common with an operating system, but that's not true. Both load some kind of resources on our screen with the goal to engage us.
My hope for the future is that as systems like Linux improve, websites would become more usable too. Because the quality of design is always relative. Sometimes less can be more, and Lubuntu clearly shows it.