Amar Sagoo

28 April 2005

You but me

It would be nice if English-like programming languages such as BASIC or AppleScript allowed using but in place of and.

Logically, and and but are the same; only but carries some additional semantics implying contradiction or contrast. (Note how I cleverly avoided using two successive buts there).

Why bother? Well, consider the following example:

If License.IsValid And License.IsBlackListed Then
    LectureUserAboutPiracy
End If

Now read this:

If License.IsValid But License.IsBlackListed Then
    LectureUserAboutPiracy
End If

Although interpreted the same by the computer, the second version makes the programmer's intention more obvious to a reader of the code.

This is similar in spirit to how you can use the in AppleScript and HyperTalk to make code more readable without affecting its behaviour. But this would be even more useful, because complex logical propositions can be quite a pain to decipher when you don't know the original intention. In fact, even constructing them can be difficult when you're having to translate from real-world terms into and and or-terms.

25 April 2005

Becoming one with the machine?

For the past few weeks, when using my computer at work, I have been getting unpleasant onrushes of a feeling that’s probably best likened to motion sickness. What seems to happen is that right after performing an action such as scrolling or dropping down menus, my eyes move automatically, anticipating where my attention should be focused next. However, that reflex is sometimes quicker than the software, and this mismatch between what I expect and what I see seems to have a slightly nauseating effect. I think it’s especially bad with animated (smooth) scrolling under Windows, because it behaves quite unpredictably, with some increments moving faster than others for no obvious reason. That’s actually where I started noticing this feeling, but it has since started happening in other, non-animated situations as well. On a few occasions it’s been so bad that I had to look away and my eyes started watering, although that could have just been general tiredness of the eyes. I also think my awareness of the effect makes it worse.

Have I used the computer so much that my brain has started treating what’s on the screen like a real environment, or have I just not noticed before? I’ve been using computers for more than half of my life now (and I’m only twenty-five!) and very regularly for the past nine years.

I’d quite like to test myself with an eye tracker and see if my eyes really move ahead of the graphics, and if so, by how much, and how it compares to less extreme users.

Maybe how we use animation and how responsive our systems are is more important than we think, especially with what’s happening with Aqua on the Mac.

Update: I think the worst situation for this motion sickness is when the expected motion doesn't occur at all. That happens quite often when using the mouse's scroll wheel in Windows IE, because this sometimes stops working until you click in the window's content area, as if it lost its focus.

I'm also pretty sure now that my eyes watering is a separate problem, but the two combined make for a particularly unpleasant scrolling experience.

24 April 2005

CSS3 multi-column layout

http://www.w3.org/TR/2001/WD-css3-multicol-20010118/

As you can maybe imagine, I'm quite excited about this. I wonder when WebCore- and Gecko-based browsers will start supporting this. Although I guess adoption by web designers will be scarce until Microsoft gets its act together.

16 April 2005

Introduction

In the past year or so, a lot of thoughts about usability have been floating around my head. Since there aren't that many people in my physical proximity that I can discuss these with, I decided to write down some of them and put them online. I was originally planning to do this in the form of essays on my web site. However, I discovered that writing these essays kept throwing up new ideas that made them longer and longer, and less and less coherent. I therefore decided to publish shorter pieces here instead, each about a single thought.

I want to make this accessible to both technical and non-technical readers, so if you are technical, please bear with me when I explain some concepts in more detail than you need.

I am not great at writing, but I hope it will be enough to communicate what I'm thinking. I also think doing this should help me improve my writing. As Paul Graham puts it:

"Writing doesn't just communicate ideas; it generates them. If you're bad at writing and don't like to do it, you'll miss out on most of the ideas writing would have generated."