Sunday, 29 May 2011

Ubuntu 10.04: PDF printer and standard paper size issues

The new version 10.04 Lucid Lynx of Ubuntu is probably the best to date. Among the highlights are the amazing boot and shutdown speed (less than 30 seconds to be ready for use and almost instantaneous shutdown on my current PC!), a very easy installation that is a snap even for a "normal" user, an improved and nicer-looking desktop theme, a great Software Center that is much more user-friendly than Synaptic and quickly helps you find the application you're looking for, and more... This version is surely a big step toward the vulgarization of the Linux desktop for the non-geek user community.

However, as it is customary with Linux distros, there are still some glitches that can be quite frustrating. One of them, that I found very soon, has to do with printing: the PDF printer (so useful) was not initially defined and the system wide paper size was set to US Letter (I live in Europe, where the metric system rules and the standard paper size is A4). Fixing these issues turned out to be a bigger job than I thought, especially the paper size problem. I had to go through many forums and blogs to find the proper fixes, and to have it completely solved I needed to go through several steps. Since these steps are scattered all over, no where to be found together, I will list them all here for the convenience of Ubuntu users that may find themselves in the same situation. It is important that the steps are executed in the order that I list them:

1) Defining A4 as system wide standard paper size
In a Terminal window, type "sudo dpkg-reconfigure libpaper1". You have to enter your password (for users not very familiar with the Terminal, note that the password is not echoed when typed!).
Select "a4" with the space bar, tab to "OK" and hit "Enter". This will replace the "letter' size to "a4" in the system file /etc/papersize.
After doing this, restart the PC to ensure that the new standard paper size is correctly propagated.


2) Defining and adding the PDF printer
In a Terminal window, type "sudo apt-get install cups-pdf". You may have to enter your password as in step 1 above.
After the script has finished, go to System->Administration->Printing. You should see there the added PDF printer.
To check that the standard paper size is indeed A4, right-click on the PDF printer icon and select "Properties". In the properties window, click "Printer Options".
Finally, go to your home directory and create a folder named "PDF" if it is not there. This folder will hold all the printed PDFs.


3) Defining A4 paper size for a installed printer
If an existing printer was already added to the system before executing step 1, you will need to re-install it so that the new paper size "sticks".
So, remove your printer and add it again. Open up the "Properties" window as explained above and check the "Printer Options" for A4.

4) Defining A4 paper size in Firefox
On the address bar type "about:config".  Acknowledge the warning that appears.
The entire Firefox config is displayed. On the "Filter" box, type "letter". Now, only the config items with the paper size letter will appear.
Right-click on each one of them, select "Modify", type "A4" in the text box and click OK.


5) Defining A4 paper size for OpenOffice
Press Alt-F2. Enter in the text box the following command: "gksudo gedit /etc/openoffice/psprint.conf". Check the box "Run in terminal" and click Run.
After entering your password, the editor window will pop up showing the contents of the /etc/openoffice/psprint.conf file.
Look for the string "PPD_PageSize=A4" (in my system it's on line 45). Uncomment this line, i.e., delete the first two columns (semi-colon + space).
Save the file.


6) Defining A4 paper size for Abiword
Press Alt-F2. Enter in the text box the following command: "gksudo nautilus". Check the box "Run in terminal" and click Run.
After entering your password, the file manger will open in root mode.
Navigate to the folder /usr/share/abiword-xx/templates where xx is the installed version of Abiword. In my system the folder is located at /usr/share/abiword-2.8/templates.
Copy the file "A4.awt" and paste it on the same window. You end up with a new file "A4(copy).awt".
Delete the file "normal.awt". Finally, rename "A4(copy).awt" to "normal.awt".


7) Defining A4 paper size for Gnumeric
Open Gnumeric. Go to File->Page Setup. In the first tab (Page), click "Change Paper Type".
In the "Paper Size" dropdown list, select A4, then click Apply.
Back to the Page tab, check the box "Save as default settings" and click OK.


You may skip the steps for the applications you don't use. After those steps I was able to print PDFs and not to worry about resetting the paper size every time.

Hope it will work for you too. If not, feel free to comment and share your own experience with me...

A Modern Social Challenge

According to the Wikipedia definition, "a mobile phone, cell phone or hand phone is an electronic device used to make mobile telephone calls across a wide geographic area, served by many public cells, allowing the user to be mobile.".

Again, according to Wikipedia, "from 1990 to 2010, worldwide mobile phone subscriptions grew from 12.4 million to over 4.6 billion, penetrating the developing economies and reaching the bottom of the economic pyramid.". If you consider only teenagers and adults, this probably means that over 90% of the world population owns a mobile phone, making it the most widespread technological invention in today's world. There are even many areas in the world that are deprived of land-line telephone infrastructure, relying exclusively on the mobile networks for their communication needs.

Since its wide acceptance after the introduction of the second generation (2G) mobile network in the early 90's, we have seen progressive miniaturization of the mobile phone, leading to very small sets, marvels of technological achievement. However, from a basic but extremely useful communication and messaging tool, the mobile phone has evolved in the last years into a social and entertaining object. This new trend resulted in an increase of its size, with larger and better screens, running under sophisticated operating systems. Nowadays, the mobile phone could be renamed as "mobile computer" since it provides its user almost the same capabilities of a small laptop.

In the same way as the computer, and inheriting most of its technological advancements, the mobile phone hype took over the world in vertiginous speed. Due to its portable size, it became a very personal object that is carried by everyone, everywhere. The big question here is: how did the addition of mobile phones to our lives influence our social behaviour?

The truth is that I'm horrified, everywhere I go and look around, by the manner people handle their mobiles. Mobile phones are a technological gift that became a critical tool in keeping us safe and connected. The device itself is not the issue; it is the way we handle it that is.

There are some mobile phone ethics, or etiquette, to be found in various sites of the Internet, but they deal mostly with practical issues. However, social issues that arise from indiscriminate and disrespectful use of the phone, especially in public places, are much more important than those. Some of these issues can be very annoying, while others are just plain dangerous. Any tool will be as good as the usage we make of it, and mobile phones are no exception to this rule...
10 things you should not be doing with your mobile phone
1. Put the loudest setting of ringtones for the "general" profile, or choose an annoying and very lively melody.

2. Speak loudly when talking at the phone in public places; assume that everyone has nothing else to do and is really interested in hearing your conversation.

3. Don't switch off the phone, and avoid selecting the "silent" profile, in places where silence must be observed, such as hospitals, theatres, cinemas, libraries, churches, etc.

4. Promptly answer a call while you're driving, particularly when you do not have a mobile phone car-kit installed. You're absolutely convinced that it is not dangerous at all. But beware: in many countries, such behaviour is not understood; it is considered illegal and passive of expensive fines, if you're caught.

5. Talk for a long time on the mobile phone: you know very well that the so-called harmful effects of radiation to your health are pure rubbish, and using a land-line set, even if it's cheaper, is not that fun.

6. Walk outside with your head down, fooling around with your set, reading emails, checking Twitter or Facebook, completely unaware of the surroundings, crossing streets and bicycle paths, considering it perfectly safe. Nevertheless, just in case, make sure you have a comprehensive medical insurance...

7. Never use SMS for a short communication, even if it's cheaper and less obtrusive.

8. Never take advantage of voicemail and leave a short message when you are not able to reach a person. Why bother to be polite and give a clue about the reason for your call?

9. When you advertise your phone number to someone, you're telling this person that you are available to communicate 24x7, be it live or through SMS and voicemail. Make sure to give your number even to those you do not intend to call back.

10. Go ahead, while busy talking to someone in front of you, and answer the phone without asking permission. Fundamentally, proper mobile phone usage is nothing more than common sense courtesy. But why should you care?

Thursday, 19 May 2011

Roll, roll your bloat, merrily, merrily...

Although nowadays we are told emphatically by the gurus of Software Development that usability is the key word to keep in mind for our products, we are confronted with more and more applications that are so bloated with options and features that it becomes a real challenge to get anything useful out of them. It seems that software makers are trying to beat the competition not through a more effective product but by presenting a bigger product. In other words: "we give you more features and more options, therefore we are better than the others."

It is quite amazing because the same creativeness that is present in the developers to give us all those features we didn't ask for, could be easily used to give us a faster, more effective and more usable product.

Lately I had a bad experience with one of those applications: a group of ex-workers of the same company needed a site for their reunion. The chosen product was something called Grouply. Being one of their colleagues, I was invited to register and join the group, which I did. The registration was quick and painless, but once I connected to the group, the troubles started. First, I got immediately an invitation to be a "friend" of two fellows from another country. It was obviously a mistake because I have never heard of them before and they did not belong to the firm. Quickly, I got rid of them. Then I proceeded to the "members" tab to try to see which of my colleagues had joined so far. It was impossible to get any intelligible result. I tried two other search functions without any success. Clicking around, all of a sudden I realized that I was out of the group into the generic page of Grouply. Back to the group, more options, more tabs, I was lost again. Finally, I got one search that gave me some results, but soon I realized that browsing through the results I would see the same faces appearing two or three times again on different pages. After playing around for more than one hour, I gave up.

This is a typical example because such an application will be used only once in a while. The next time I go there I will have to do the same exercise and this will be a complete waste of my time...

I don't mind, for instance, to delve into the thousand options of an Eclipse IDE and learn how to get around them because I will be using that product for my daily work. But when you face the same challenge for some application that you will be using only occasionally, the case is totally different. I simply don't want to stay hours in front of the screen in order to learn how to navigate through a maze of menus and tabs, while I know that I would have forgotten most of it when I access the application again next week.

I have to admit that developers (and I am one of them) do enjoy transforming brilliant ideas into new features that will be added to the application. But where are the designers, the architects, the project managers, who should keep things under control and stick to the original design? Where are also the usability experts who should make sure that the final product is indeed a solid and usable system, capable of being handled by the average user?

Software Development is not about being clever and filling up the screen with brilliant features. It is about making a product that satisfies a specific purpose in the easiest and most usable manner. Or am I dreaming?

Tuesday, 3 May 2011

Is Linux ready for the desktop?

For some time the Linux fans have been claiming that Linux is ready to replace Windows and Mac as the desktop system of choice. Being myself a faithful Linux user for over three years now, I have already successfully accomplished the switch. After all this time I cannot, and I do not wish for any reason, to go back to Windows. I do all my work and social computing with ease, speed and reliability with Mint, a fork of the most popular Linux distro: Ubuntu. The biggest advantage of Mint is the inclusion of non-free drivers in their distribution, simplifying the installation and improving the compatibility with audio and video material that I often receive with my emails.

But is Linux really ready to become the desktop system of choice for a normal user? I am a software developer by profession, with a lot of experience in the field. So, for me there is no question that Linux offers a much better environment to work with.  In an article that I read just today, the author claims that the newest version 10.04 of Ubuntu is perfect and "blows Windows and Mac out of the water".  An enthusiastic claim that I had to investigate by myself.

I downloaded the netbook edition of Ubuntu 10.04 and proceeded to install it in my Asus EeePC netbook, running pretty smooth until now with version 9.04. The installation of 10.04 was indeed perfect: easy, fast and very user-friendly. I dare say that it is suitable to any user, even if the user is not computer literate. The new Ubuntu Software Centre is excellent and confirms one of the strong points of Linux: a centralized and safe repository of countless application packages. The user interface is pleasant and very usable. All seemed to agree with what the above article's author had enthusiastically claimed...

All but the wireless connection, usually one of the Achilles' heel of Linux distros. Despite the fact that the wireless was working perfectly fine with the older version, with the installation of the newest version I was unable to get connection to the Internet. I then made use of another strong point of Linux, the user community network, to look for a solution. I hooked a cable to make a wired connection and it didn't take me long to find a page where the problem was explained and the way to fix it, described in detail. I followed the instructions very carefully and 30 minutes later my wireless was working as expected. My thanks to Chris Barker for the excellent article.

At this point you would say: "So, what's the catch? The latest Ubuntu is thus great, isn't it?" Well, yes and no. It is a great system all right, for people like me, who know their way around with binary installation packages, able to cope with command line instructions and root access, aware of the right places where to search for problem reports, etc. For a normal user, accustomed with graphical interfaces and having a very superficial knowledge of the computer, the situation I faced is insurmountable.

If you care to take a look at Chris Barker's article mentioned above, you will see that fixing my wireless problem required the downloading of the latest binary package of the Ralink RT2860 driver, making some configuration changes, recompiling the driver, replacing the old one and changing the boot configuration.  And this is why Linux is not yet ready to replace Windows for the majority of computer users: none of them would have been able to do that.

The day a new version of Ubuntu will not break compatibility that has been already achieved in a previous version or, alternatively, provide solutions wrapped in a script that will execute without manual command line intervention, then I will gladly agree with any claim that Linux is ready to be a valid alternative to anyone looking for a better operating system for the PC desktop. Until this happens, I will be one of the happy few (1%) users enjoying an excellent system to work with. If you are lucky enough to own a PC that is fully hardware compatible with Ubuntu 10.04 or have a friend at hand who is a Linux geek and willing to assist you, then you will be able to enjoy the same experience. But every time you add or replace a piece of hardware, you may incur the risk of needing a little bit more than your skills of pressing buttons on a graphical window. Pity, but nevertheless, true.