ScrimismsPresently suffering a dearth of witticisms

Software


Musings and Software22 Nov 2009

At work, I use a Mac and a Windows Vista machine every day. I also poke around on XP and Windows 7 from time to time. When I have to switch from using the Mac to using some flavor of Windows, I always wince a little bit. I’ve been trying to work out exactly why.

I’ve always thought that the Mac’s user interface, especially since Leopard, looks much cleaner and grown-up (I have a special hatred for XP’s Fisher Price blue-and-green default colour scheme; thankfully Vista and Win 7 have moved away from that), but my discomfort with Windows can’t just be because the Mac is more pleasant to look at. People often say that Macs are “easier to use”, but how does one measure that? There aren’t wild differences between their user interfaces: both are point-and-click and built on the metaphor of a “desktop” with several “windows” floating above it, and each window contains a “document”. We tend to take that basic arrangement for granted, but it is useful to remember that it really is only a metaphor: one could conceive of other modes for performing the same underlying interactions. For example, a command line interface is built on the metaphor of a conversation: I tell the computer to do something by typing a command, it does it, and then tells me about the result with a line of text.

Of course, most of the time we don’t interact with computers via the command line: we use the desktop metaphor instead, because it is an easier metaphor to work with. It’s easier for us to conceptualize a pile of documents that can be shuffled and sorted and laid out than it is for us to carry on multiple simultaneous conversations with the machine. We can accept this metaphor at face-value and then get on with working on our “documents” without bothering to remember that they are really representations of the underlying computer data. And I think this might be one way in which the Mac user experience is an “easier” one: the Mac does a better job of maintaining the metaphor.

Here’s an example that I hope will illustrate what I mean. On a Mac, there’s a little “grip” area in the bottom-right corner of a window that you can use to resize the window by clicking and dragging. On Windows, you can resize a window with a similar grip, and also by dragging the edges of the window’s frame. While these interactions are superficially the same, there is a key difference. On my Mac, the window always resizes smoothly. On my Windows machines (Vista and 7 especially), the window’s content tends to lag behind the frame. For a split second there will be an empty black gap between the outside edge of the “document” and the inside edge of the frame, and then the document “jumps” over to fill the gap. Well, so what? Does this really matter? After all, on both platforms, I accomplished the same thing, didn’t I? I resized the window, giving me a larger area in which to work on my document. So what if it looks a bit less clean on Windows?

That wily window frame has some other quirks too. Sometimes, when application is starting up on Windows, the window frame will appear before the content, giving you a split-second view “through” the window at the desktop behind it (imagine holding up an empty picture frame and looking through it at the room behind). Then, the window content appears and the whole thing is properly opaque. This never happens on the Mac.

These may be small things that you barely notice consciously, but I think the small details are really important. On the Mac, the window content (the “document”) and the window frame are a cohesive unit. A window is a solid thing, it contains a document, and it behaves in a reliable way. On Windows, you get these constant reminders that all is really an illusion. Every time the window shears apart, the metaphor is broken, and your brain has to work a little harder to paper over the little gap between the metaphor and the reality. The Mac’s interface doesn’t tax you in this way. I think that’s why I breath a little sigh of relief when I switch back to working on the Mac: I know I can just relax and get on with what I’m doing.

News and Software30 Jun 2009

Flow, the software I’ve been working on for the last 18 months, has shipped!

There are videos of it in action and a trial version to download, if you follow the link. After all the hard work it’s gratifying to see it available to the world!

Links and Musings and Software09 Sep 2008

Somebody recently put me on to a neat monospaced font called Inconsolata. A monospaced font is one where each letter takes up the same amount of horizontal space (meaning that ‘l’ is the same width as ‘w’), and programmers love them because they make it easier to read source code. I’m not entirely sure why this is, beyond the obvious reason that it makes formatted text line up cleanly. What I do know is that when I started using Inconsolata in my code editors I felt… well… suddenly happier.

Looking at the screen became easier on the eyes, and the code seemed to flow more effortlessly out of my fingers. Amazing what a font can do for you. If you, like me, are in the habit of doing a bit of haxoring, go download this font and give it a try.

Games and News and Software17 Feb 2008

It’s finished.

You can go here to download “The Trials of Soscaides”, a mini role-playing game. If you tried it out before, you can now finish the adventure. With any luck, you won’t even run into any bad bugs, because I think we caught all the major ones =)

After spending a fair bit of my free time over the last couple months creating and testing the game’s adventure, and ending up with about two hours of playing time, I have a new appreciation for people who make full-length games. It’s a lot of work!

Special thanks to Jamie for finding some bugs and of course to Gaelan for going on this crazy adventure with me.

Links and Software05 Dec 2007

XKCD, a wonderfully odd webcomic, features my favorite programming language today.

Eventually one returns to earth and writes programs in other languages, whereupon one discovers he has somehow broken his age-old habit of ending every line with a semicolon (and perhaps broken a build at the same time…).

Games and Software01 Dec 2007

A couple weeks ago, an RPG development forum I hang out on held a “game in a weekend” contest, challenging people to create a complete game in two days. It’s a bit like the “three-day novel contest”, in that you have to be slightly nutty to enter.

I decided to enter, and I’m not one to be nutty alone, so I roped Gaelan into working on it with me. Starting with some code I’d previously written and one generic grass tile, our aim was to produce a small-scale RPG in the time allowed (which was eventually extended by three days. Yeah, the two day contest turned into a five day contest. Weird, but useful…). Both being antiquity buffs, we decided to set our game in Ancient Greece, and drew some inspiration (i.e., outright stole a few things) from the Odyssey. Thus, The Trials of Soscarides was born.

The contest is over now, and “Soscarides”, reasonably complete by the deadline, tied for first-place with another entry. We are both quite proud of our little game.

I’d been holding off on posting it here because I was hoping to finish it first (the contest submission only has a little of the game content in place), but that is starting to look like it will take a bit longer than anticipated, so I’m posting it now. You can follow the link above and download the limited (and slightly buggy) contest entry, but you’ll have to wait a little while for the final release. Gaelan and I are both plugging away at it. I think the story is about 40% implemented and nearly all the art and mapping is done. I’m working on a few refinements to combat (which I wrote from scratch in 12 hours on day two of the contest) and a few other aspects of the game as well.

If you try it out, let me know what you think.