thoughts on usability, coding and other nerd topics

Posts tagged with “ubuntu”


Spatial Thinking

Most humans are used to spatial thinking. Even if - like mine - your desk is a huge mess, you can probably find your stuff pretty quickly because you just know where you put it. Each thing on your desk has a fixed place in space which does not change on its own. If you put something somewhere, it’ll still be there the next day, and you’ll know where you can find it.

My Desk (Partial Shot)

When designing user interfaces, it’s important to keep people’s ability for spatial thinking in mind. People can easily find things based on position. If a human puts something somewhere, he’ll probably be able to find it again if the user interface doesn’t move it. If possible, the user interface should always display things where the user put them, and allow for spatial organization.

Unfortunately, most modern user interfaces don’t accept this notion. Both Windows and Mac OS X like to move and resize Icons and Windows, which makes it hard to build a mental model of where your files actually are. Earlier versions of Mac OS did a much better job of this. Ironically, it’s the often user-unfriendly Linux operating system which does this right. Ubuntu Linux ships with the Nautilus desktop, which was built by former Apple employees and supports full spatial navigation.

But Apple hasn’t completely forgotten its spatial past.

Originally, the iPhone had a set number of applications installed.

Original iPhone home screen

Each application has a preset position. It’s pretty easy to find an application if it’s always on the home screen and never changes its position (unfortunately, not all cell phones have learned this lesson - there are many phones which use most of the home screen to show a clock or an image, and then display a small scrolling list of applications instead of using the screen real estate to facilitate the task the user actually wants to do).

When it was hacked and users started to install additional apps, people started to run out of space to put them, and a solution was needed to get to these apps. What hackers did was implement vertical scrolling on the iPhone’s home screen:

Hacked iPhone home screen

This seems like a neat solution. Unfortunately, it makes finding applications really hard, because they never appear in the same place, and while you might know that an application is “somewhere down on the right,” it’s hard to scroll to the exact position where the application is.

Apple’s own solution to having more applications fixes this issue. With iPhone version 1.1.3, people can add icons to the iPhone’s home screen. Instead of scrolling the screen vertically, Apple allows users to horizontally switch between screens:

New iPhone home screen

The fact that you can swipe your finger across the screen to move between pages gives it even more of a “physical space” feeling.

This is a much better solution, as it allows for precise spatial reasoning. Users know where exactly their applications are (“the third icon in the second row of the first screen,” for example). People also know which screen they currently are due to a number of small dots at the bottom of each screen, which indicate the number of screen and the currently active screen.

Instead of going with the most obvious idea, Apple took a step back and came up with a much more usable solution which is much more in tune with how humans think.

Another nice implementation of spatial navigation can be found on the Wii. Both Sony and Microsoft present downloaded games in a huge, one-dimensional vertical list which makes it cumbersome to actually find anything once the list contains more than a dozen entries. Nintendo, on the other hand, lets you arrange games on several two-dimensional screens.

PS3 and Wii Game Selection User Interfaces

February 23rd, 2008 / Tags: iPhone, Spatial Finder, Ubuntu, Windows, Space / Trackback

How to avoid catching a Computer Virus

First of all, forget about Antivirus Software. As Jeff Atwood writes, blacklisting viruses does not work. The sum of all issues Antivirus software causes is a lot bigger than the sum of all issues you avoid by having Antivirus software installed. In other words, the problems Antivirus software causes are worse than the viruses you get by not having Antivirus software.

So how do you avoid viruses? Here are a few hints:

  • Avoid market leaders. Viruses generally target software with large installation bases. Use a Mac or Ubuntu instead of Windows. If you have to use Windows, use Firefox (preferably with NoScript) instead of Internet Explorer. Do not use Microsoft’s e-Mail applications. Do not use Office applications such as Word, Excel or Powerpoint if you don’t have to. If you have to read documents from these applications, use third-party applications which can read the formats such as Open Office, Google Docs, Text Edit in Mac OS X, or iWork.

  • Do not run as Administrator or root. Create a second, normal user account and use your computer running this account.

  • Think before you enter your Administrator password. When you’re not running as Administrator, applications will sometimes request additional privileges to access data your current user does not have the rights to. Don’t just enter your password. Consider the application requesting additional rights. Does it really need those rights? What for?

  • Run a firewall. Most modern operating systems come with a firewall installed out of the box. Activate it if it’s not activated by default (bad Apple!).

  • Use a spam filter. A good solution is to use gmail to access your mail accounts, and then access gmail from your mail application. Gmail has a built-in spam filter, as well as a malware detector. Furthermore, it’s generally a good idea to discard spam messages without opening them. Opening a spam message could potentially exploit a buffer overflow issue in your mail application or browser. If you can identify spam by its subject and sender, just delete it without opening it.

  • Do not run applications you did not get from a trusted source. There are only two trusted sources: CDs given to you by an official vendor, and the software vendor’s official homepage.

  • Use virtualization for risky applications. You can use Internet Explorer without any risk, as long as you run the application within a virtual computer. Use VMWare, Parallels or a similar solution to run risky applications. Make sure that the application is sandboxed, i.e. has no access to your “real” computer from within the virtualized computer.

  • Keep incremental backups. There is no absolute security, no matter what you do. Chances are, you’ll get a virus sooner or later, and you’ll lose data. If that happens, don’t try to get rid of the virus. Instead, roll your whole system back to the state before the infection. Mac OS X makes this extremely easy, just buy a big external disk, plug it into your Mac, and it’ll ask you whether you want to use it for your backup. That’s it. It’s easier to backup than to not backup, so just do it.

Above all, don’t be stupid. If you don’t du dumb things like visiting untrusted sites with Internet Explorer, or launch applications you’ve downrobbed from some torrent site, you probably won’t get infected.

TidBITS agrees :-)

January 8th, 2008 / Tags: virus, virtualization, parallels, vmware, internet explorer, firefox, ubuntu, mac / Trackback