Pinch to Zoom? Nah, I'm Fine, Thanks

What is this generation’s obsession with pinch to zoom?  It’s so often touted as “natural”, “intuitive”, and “cool” that it’s beginning to make me go insane!  Yes, it might be cool, but have the people who say these things even thought implications of both what they say and the use of such an interface?

Intuitive

First, let’s get the bit out of the way that always grates me.  Pinch to zoom isn’t “natural” or “intuitive”, contrary to what people say.  Do people even know what it means?  Let’s have a quick look at the Chambers UK dictionary, since it’s what I have to hand:

intuitive adj having, showing or based on intuition.
**intuition **noun 1 the power of understanding or realizing something without conscious rational thought or analysis.

Cast your mind back to when you first experienced pinch-to-zoom.  Had you already heard about it from all the marketing and fanboyism?  Did you work it out for yourself?  Did you struggle?

I didn’t struggle, at least to find it, because I knew about it from the web and friends well before I ever used the gesture myself.  But I was always asking myself why–why is it like this?  I mean, I don’t know about you, but I’ve never bought a map or a picture printed on latex before, and I don’t think it would be a terribly good idea if someone were to do it.  Stretching a map just to be able to see to a larger scale sounds like too much work and ridiculously impractical.

At this point you’re probably thinking I’m taking it too seriously.  Damn right I’m taking it seriously–these are the interfaces that people all over the world use millions of times a day.  Shouldn’t something so prolific be polished to perfection?

A more “intuitive” interface would either be one that we can relate to in real life–such as a magnifying glass–or something that we are already used to–buttons, for example.  The latter is a bad example of intuition however, as the only reason most people can use buttons without any conscious rational thought now is because they have made the conscious ration thought a long time ago.  And as an added bonus, what do most zoom buttons look like?  That’s right: magnifying glasses.

Accessibility

I realise that I am a very fortunate person to be fully able to use my body and interact with the devices in my life easily such as computers or mobile phones.  But if I were ever do gain disabilities–specifically motor disabilities–then I want to damn well make sure that I’ll still be able to use my beloved electronics!

You can probably see where this is going.  Pinch to zoom requires a surprising amount of motor- and hand-to-eye coordination.  And this is coming from a very seasoned gamer!

Break down pinch to zoom into its most basic motions for zooming in:

  1. Locate two physical inputs on either side of the point of interest you want to zoom in on.
    • By “two physical inputs” I mean most commonly a thumb and an index finger or two thumbs.
  2. Move each input away from the point of interest.  If you want to keep the subject in the centre of the screen you need to make sure you move each input an equal distance.
  3. Remove both inputs from the screen without moving them across the screen.

Likewise, do the same for zooming out:

  1. Locate two physical inputs far away from the centre of the screen.  This is typically in the corners to maximise the distance that can be travelled by the inputs.
  2. Pull the inputs closer together, typically until they touch.
  3. Remove the inputs from the screen without moving them across the screen.

Now you might take this for granted, but this is actually quite a difficult operation.  After all, you need to line up your two chosen inputs in relation to the object on the screen that you want to zoom in or our with.  If anyone attempting to do this has any long-standing physical problems, they’ll probably find it hard and annoying.

And that’s before we even consider someone who only has the ability to work with one hand at once–i.e. they have very limited finger motion, but are able to use their arms otherwise okay.  They hold the phone in one hand, and then things become very awkward as soon as they decide they want to zoom.  Taps? Easy.  Swipes? Not too bad. Pinching?  Ah.

Usability

Heck, it can be difficult for fully able people to use the pinch to zoom gesture properly.

To use the iPhone as an example (though all other phones with pinch to zoom fall foul of this), you’ve gone on a walk on a hot summer’s day.  Needless to say the warmth is taking its toll on you, but you’re smart and have come prepared with a drink in hand.  You forget exactly which path it is you’re taking to get to your destination, so you pull out your iPhone in your other hand, fire up the Maps app and do a quick search.  There seem to be a lot of junctions ahead…  So you decide to zoom in to see which–ah.

If you’ve ever tried to pinch a phone’s screen whilst hold it in the same hand, you know it’s a challenge to try and hold a device as big as the iPhone *and *lay two fingers on it and move those fingers precisely.  Even the fact that I am trained in the Monster Hunter “claw”–named for the PSP game’s awkward controls featuring movement on the analogue stick and camera adjustment on the D-pad– didn’t help me at all.  Trying to use it with one hand is just plain awful.  And that’s a big shame, as being able to use a phone one-handed is a big feature for me.

The problem is only exacerbated by circumstances such as driving.  With Android 2.0 recently being announced to have full in-car GPS support, including a special mode which makes buttons larger and a voice speak directions, it’s becoming even more likely that devices with pinch to zoom being used in the car.  Now granted that having buttons to zoom won’t work great unless they’re quite large.  Pinching to zoom however is even worse in that it needs two fingers, both of them to be on and stay on the screen until you’ve hit the zoom level you want.  Now this is going to take concentration and attention.  Probably quite a lot of it.  And driving with your attention off the road isn’t exactly the best idea in the world.  Not the worst, but not the best.

One other thing I haven’t mentioned is multi-touch gestures being implemented on devices that aren’t phones, such as laptops.  I’ve been using 3-finger gestures on my Asus Eee PC 901 for over a year now (yes, there is space for three fingers on the trackpad–just), and there were new MacBooks released earlier this year with support for 4 points of contact!  That’s pretty cool, and I am very much keen on the idea of being able to do lots of different gestures with multiple fingers.  However, when you start to implement many that are similar to each other, people are bound to activate one when they meant to do another.  It’s just a shame sometimes that the people who make these devices know better than you, so much so that they don’t let you adjust anything to your preferences.

So just remember when you next think about pinch to zoom about what I said earlier: it is a gesture that people all over the world use millions of times a day–so long as you have good motor proficiency, hand-to-eye co-ordination, and two hands free.

I am Your God; BOW DOWN TO ME

Another of my friends chilling down at the river.

Where there’s food, there’s fighting.

Where there’s bread, there’s dread.

The Windows 7 Taskbar — Keyboard Goodness

If you’re fortunate enough to be using Windows 7, then no doubt you’ve noticed the new taskbar.  Well, here’s a couple of golden nuggets of info for you:

Did you know that all the icons you line up on the taskbar automatically get keyboard shortcuts?  If you want to launch one of them, just press the Windows key and the number of the program’s position along the list.  So to launch the first program, press Win+1; to launch the second, press Win+2; this continues all the way up to Win+0, which opens the tenth program.  Cool, huh?  This is the same behaviour as the Quick Launch Bar in Windows Vista (which I used extensively).

Even better, if you want to open one of those programs with admin permissions (for example, using Notepad to edit the hosts file), you can press Win+Ctrl+Shift+, accept any UAC prompt, and voilà!  Program a la admin.

I love keyboard shortcuts.

A Word of Warning: Check Your Windows 7 Backup Settings

Backups in Windows 7 have been greatly improved, what with the fact you can restore from them (without needing to take a separate backup) and that they backup to networks better.

However, there has been one change which caught me out, thanks to a subtle and ambiguous rewording of the backups dialog.

When backups are taken, as default only user folders that were created by Windows are backed up.  For reference that’s Appdata, Contacts, Desktop, Downloads, Favorites, Links, Music, Pictures, Saved Games, Searches and Videos.

This is different from the default behaviour of backups in Windows Vista, which backed up everything in C:\Users<Your Username>

If you make any folders of your own at the root of your user folder, they will NOT be backed up.  If you want to back those up, I recommend you go through the backup wizard again and say that you want to configure what gets backed up yourself.  Select more locations, and navigate through the filesystem until you check C:\Users<Your Username>.

I lost a few files when I reinstalled 7 for unrelated reasons, and lost the contents of my Code and Programs folders.  I’m lucky that I had only been using the OS for a couple of weeks–had I been using it longer I could have lost a lot more.  At least it’s given me an excuse to code!

Just a friendly warning for fellow Windows 7 users who are as fussy about file organisation as I am.

Adding your most recent Twitter tweet to your Pidgin status

Basically nothing changes, but I just like to be comprehensive.

  1. Download the TwitterStatus plugin.  It’ll be a file ending in .pl.
  2. Move this file to your Pidgin plugins folder.  If any folders don’t exist, create them:
    • Linux: ~/.purple/plugins/
    • Windows Vista/7: C:\Users<Username>\AppData\Roaming.purple\plugins
  3. Install Perl:
  4. Install  the XML::XPath module into perl:
    1. Open a command line.
    2. Run perl -MCPAN -e shell.
    3. Type install XML::XPath and then hit Return.  Wait for the install to finish.
    4. Type quit and hit Return, then close your command line
  5. Start (or restart) Pidgin.
  6. From the contact list, go to Help > About.  At the very bottom of the textbox that appears it should say “Perl: Enabled”.  If it does not, repeat steps 3 and 4.
  7. From the contact list, go to Tools > Plug-ins.  Find Twitter Status on the list, check the checkbox next to it, and then click Configure Plug-in.
  8. In the configuration window that appears, type in your username in the top textbox (labelled Username, surprise surprise).  Configure anything else you want to your liking.

That’s it!  You do not need to set this up again, it is a one-off set up for the computer.  Of course, you will need to go through this procedure again if you have multiple computers you use Pidgin on, or if you format and reinstall your OS.

Ogg Vorbis Encoder for Windows

I not so long ago made a post about using Ogg Vorbis for Ringtones on Android, as it considerably reduces the lag between getting a phone call and the phone actually playing the ringtone.  The same goes for music on the device–it just starts playing quicker.

Anyway, just now I realised that I didn’t link to any encoders for it.  So if anyone wondered what I used to accomplish the task, they’d be stuck!

So here’s a quick update to fill in in the gaps:

If you’re wanting to just convert some files you already have into Ogg Vorbis, I’d recommend oggdropXPd.  Open the program, right-click on the “dropbox” that appears to configure it, then when it’s all done, drag and drop the files you want to convert onto the dropbox, and wait!  It works fine under Windows Vista (32-bit) and Windows 7 (64-bit).

If you’re wanting to both edit a music track into a short ringtone and convert to Ogg Vorbis, Audacity did the job for me.  It’s open-source and supports a number of file types (including MP3 if you download a separate plug-in), so hopefully it’ll work for you too.  Again, it works fine in Windows Vista (32-bit) and Windows 7 (64-bit).

The settings I used for the Ogg Vorbis files on my G1 where 128kbps CBR.  You don’t need much quality because the phone’s speaker isn’t exactly an orchestra, and I used Constant Bitrate under the assumption it would take less CPU to decode. If you know otherwise, please let me know!

Use Ogg Vorbis for Lag-free Ringtones on Android

Why, do I hear you cry?

Simple really, here’s the story: when I first transferred various files to my phone for use as ringtones (one each for calls, texts, e-mails…) I used MP3s.  Thanks to the Rings Extended application in the marketplace I had no trouble in using them.

But one thing struck me as odd whenever I got a call (or text etc.); lag.  If I were to get a call right now, the phone would vibrate, the screen would turn black, and then a couple of seconds later the contact details show and my ringtone starts playing.  Not ideal.

So I decided to try something.  I set one of the standard ringtones that came with the phone as the current ringtone, and tried again.  This time the phone started vibrating and played the tone at the same time.

After that I had to figure out what format they used, since I had no idea where the files could be and what format they were.  I reasoned that Ogg Vorbis would be the format they’d use — an open-source OS with open-source ringtones.  Makes sense, right?

So I tried it: I converted those same ringtones I started out with to 128kbps CBR Vorbis files.  128kbps because I thought that a higher bitrate would lag the phone out (plus you wouldn’t hear a quality difference from the speaker anyway), and CBR because I thought it would be easier for the decoder to work with, though I have no evidence to back this up.

Voilà!  Suddenly my ringtones loaded a lot quicker, and no longer did I get vibrations with no accompanying ringtone (unless it was set to vibrate only!).

I haven’t tested other settings on the Vorbis encoder (different bitrates, VBR etc.), nor have I tested other formats aside from MP3 and Ogg.

Hope this is of help to someone that actually cares about this stuff.

Strip ID3v1 Tags from MP3s in Linux

For kicks I decided to remove all the ID3v1 tags from my music files today.  They were just getting in the way and served no useful purpose — since I had perfectly fine ID3v2 tags — so they just had to go.

I cooked up a little command to help out here!  But first, we need to make sure you have the command that we’re going to need here, id3v2.  Install it from the official repositories using your distribution’s package manager.  For example, on Ubuntu:

This command is used to view and manipulate ID3 tags inside of music files.  One argument in particular is of use to us, -s, which strips ID3v1 tags out of the specified file(s).

With that in mind the task is just getting a list of the files that you want to remove ID3v1 tags from.  I’ve managed to solve that and fit it all in one line — don’t forget to replace the path with the correct one:

That’s it! After testing I ran it on my whole music library and it appears to have survived just fine. Just be patient (and careful) if you’re stripping tags out of hundreds or thousands of files.

Let me know how it works out for you, and any improvements you may have!

Forgotten the Installation Code for your Sagem Digital Set-Top Box?

It’s annoying when that or something similar happens — in my case, someone else had changed the code meaning I couldn’t retune the box to accept more channels.

But all is not lost!  Simply follow this quick guide.  This is from a Sagem ITC 62 — it may or may not be the same process for other models:

  1. Press Menu on your remote control.
  2. Select Installation.  You’ll be presented with a screen where you have to enter an Installation Code.
  3. Press these buttons one after the other on your remote: Menu, Menu, Red button, Menu.  You should be taken to a new screen displaying User Settings and Box Settings.
  4. Select User Settings.

Now what you do at this point is up to you.  You have two choices:

Disable the Installation Code

This means that you don’t have to enter or remember an installation code in future, but it might be vulnerable to inquisitive children.  If this isn’t an issue for you (or you don’t care!), follow these steps:

  1. Select Locking.
  2. Switch Box Locked and Channels Locked to No.

Change the Installation Code

If you still want an installation code for whatever reason, follow these steps:

  1. Select Change Installation Code.
  2. Enter any four digit code you like, and press OK.
  3. Re-enter the same code again.  Press OK.

That’s it!  Let me know how it goes for you.

Credit to Steven Checkley for his amazing hackery.

Hey there, Handsome.

Are those wings sticking out of your body or are you just happy to see me?

Here’s a picture of a beast Dragonfly waving to all the passers-by in my Nan’s back garden.  You can tell it isn’t a Damselfly because this one can’t fold it wings back along its body – they have to stick out sideways.  It’s also huge.

Thus what I said.

Maybe I’m going a bit far.