Month: May 2011

May the 4th be with you

Today is the annual Day Against DRM, please remember to check your shopping list for possible DRM-ed products, and consider doing some of the ideas on the site… I can give you a few examples why this is bad.

First, I own an iPad and cannot use it. It won’t be recognized by my Linux machine, I can’t copy music or books to it, I can’t browse my music collection on my server to play random songs, I have to sync it with iTunes (and only iTunes) that I have to run on a Windows virtual machine inside my Linux machine. It’s dead slow, it won’t sync up things from my iPad unless I find the magical option pull changes from iPad instead of the ubiquitous sync option, etc.

Secondly, the Play Station is a wonderful machine and many people wanted (and could) run Linux on it. Years ago there were clusters of Play Stations, since its GPU was powerful enough to do scientific computation (better than many computers at the time), but now, you can’t even touch it without going to jail.

Finally, in the age of the internet, companies are still attached to material values such as possession and ownership, whereas the internet transforms everything into a service. Amazon, although they still use DRM on Kindle, they understood it quite well and have created the most important cloud service on the planet.

Why those companies are not using the same model for everything? Well, generally reality doesn’t get transformed that quickly, so it was a great shock. But now society is demanding new rules for a new reality and the fact that many people are going to jail for preserving their own rights is alarming and a crucial sign that the old rules don’t apply any more.

This day is to remind you that you are not alone in thinking that this is all wrong, that you should be able to listen to any music, on any device, anywhere, since the technology allows you to. If the business model does not account for it, change the business model!

May the 4th be with you…

Touch-screen keyboard

I’ve been using virtual keyboards for a while (iPad, Android phone) and, while it’s good enough, it made me wonder…


The QWERTY keyboard was invented in the 19th century and before computers had keyboards, it was mainly used for typing letters. The advanced feature of a typewriter was the SHIFT key.

When computers had their input changed from switches and punched cards to keyboards and printers (before monitors were invented), the natural choice was to use the ubiquitous QWERTY layout. But because of the nature of computing, many additional keys were needed. Since the single most important function of a keyboard was to input code (and not Word documents), the SHIFT concept was extended with CONTROL keys, the FUNCTION keys were added and some other impossible concepts in typewriter, such as the Home/End, Insert/Replace, etc.

All that was added around the traditional keyboard, and today it’s now ubiquitous as well. All editors (code and otherwise), use extensively those keys and it’d be impossible to imagine a keyboard without it. But, to be honest, the layout of the computer keyboard did not technically have to mimic the old fashioned typewriter. It just did to ease the transition between writing letters on paper and code on silicon.

Nowadays, the virtual keyboard is, again, mimicking the 120 years-old layout, just because everyone got use to, but now the excuses to keep it are fading. I do not know anyone that still uses a typewriter, do you? Also, most of the extra keys are still only used by coders of some sort, including Vim, Emacs, Photoshop and Excel.

Swipe movements

Clicking on links, editing text and drag&dropping is very awkward on the iPad (not to mention on phones), so that’s not going to stick more than a decade. However, gestures are so intuitive on touch-screen interfaces that it can easily become mainstream, if done right.

One browser I use on Android (Dolphin) has hand gestures, and I have to say it’s horrible and too complicated. It’s based on the old mouse-gestures that, by definition, is out-dated and not technologically compatible.

Touch gestures have to be more natural, like moving objects on your desk. One way to do this is to use the (now famous) two-finger swiping. Another is to add hot-areas to your touch screen, where people know are for specific purposes. For example, imagine a touch-screen keyboard the size of an iPad (10″, no screen on it, just the keyboard). Remove every other key than the QWERTY keyboard itself. Just as you would use the lower area as a pointing device, the lower area (either swiping or tapping) brings a full-screen pointing device, with all gestures and controls one needs. Another tap would bring the main keyboard back.

The same way, right and left screens would bring editing capabilities to your programs, and each program could have its own screen. Some could revert back to the main keyboard as you press on key (as to save the return tap), others would require you to press multiple keys are the same time. The top part could bring the multi-media area, with animated buttons, etc.


All that is not complete without some feed-back, the worse thing on using virtual keyboards. The click noise is easy enough, but tactile is coming a long way without really going anywhere. Microsoft, Apple, Nokia, Sony, all tried (and patented) solutions to tactile touch-screen and yet, not mainstream device today uses one. I’m sure that’s mostly due to technical difficulties (maybe battery life, or bulkiness), none of them critical to a keyboard.

When playing games on the phone that emulate joysticks (SNES emulator, or other Android-specific ones), I often die because of the lack of tactile feed-back, that is, I take my finger off the D-pad without noticing. This is most annoying and virtual keyboards aren’t going anywhere without a decent feed-back system.

Some laptop/tablet cross-breeds, have dual touch-screens for that purpose, and I think (or rather, hope), that this is the future. But they need to change the layout of how keyboards are supposed to work. Luckily, that can be done all in software, and Linux is an open system, which anyone could implement it.

If you do, please open source it and make it free. Any penny you get from it is a second away from it being universally accepted.