Saturday, January 27, 2007

Where is the User Interface Innovation?

It seems like a good user interface toolkit would lead to better interfaces, and I think at one level it does. But recently it has occurred to me that it also tends to reduce innovation. Where I'm seeing the most innovation in user interfaces is on the web with the new generation of Ajax web applications. HTML, CSS, and Javascript provide a pretty basic UI toolkit, certainly not as nice as the Mac or Windows. But it seems to be another example of constraints leading to good things. It seems like, because of its limitations, the web has spawned a rich variety of UI innovations. Of course, the variety means that there's not as much standardization, but so far that hasn't seemed like a big drawback. You have the same problems figuring out how to use an innovative Windows or Mac program.

For a good example, have a look at Dabble DB - the 7 minute video gives a great introduction.

Friday, January 19, 2007

My First Mac

A few days ago I received a Mac Mini I ordered directly from Apple Canada. I could have bought one locally but I was curious about how they're mail order would work.

Although the advertised prices make the mini look relatively cheap, by the time you upgrade the memory and hard disk to reasonable amounts, and add a mouse and keyboard it's ended up almost twice as expensive as a comparable PC.

My first chuckle came when the mouse and keyboard arrived in a box about six times the size of the box the computer came in!

Less of a chuckle when I found that I couldn't use the wireless keyboard and mouse until they were set up - which you couldn't do without a wired usb keyboard and mouse. This wasn't a problem for me since I had spares, but if this was your only computer (or if you only had an older PS2 keyboard/mouse) you'd be pretty frustrated. It might be nice if Apple's web ordering system warned you about this when you ordered a mini with a wireless mouse and/or keyboard.

Other than that, set up was quick and easy. It recognized my Samsung SyncMaster 215TW and set the right resolution automatically - something Windows handles but Linux never seems to be able to.

Of course, the first thing it did was start downloading updates - a good thing, I guess, but not something I like being bothered about. I was sad to see that the updates required a restart. I guess it's not just Windows anymore that wants to restart all the time. I thought maybe the first update was an exception, but the next one (a day later) also required a restart. Updates on Linux don't seem to require this unless there's a kernel change.

For the most part it connected to our Windows network with no problems. It took me a few minutes to figure out how to access network drives and printers but not too bad.

Next, I downloaded some software - Firefox, TextMate, and Parallels. This is where I really felt my unfamiliarity. On Windows, installing software is generally pretty easy - you run the installer and it does its thing. On the Mac I found it quite confusing. You download a ".dmg" file (disk image?) When you open that you see some files, and an icon appears on the desk top (the "disk"?). Now what? Firefox comes up with some graphic which I think is telling you to drag the program to the Application folder. It might help if there was a text explanation as well as the cryptic graphic. Of course, I made the mistake of running programs from the disk images which gave me grief because they were then running (even after I closed the window - another Mac / Windows difference). Experienced Mac users are probably laughing at my newbie confusion, but it's far from clear or consistent.

Eventually I got my programs installed. I haven't played with TextMate yet, but I've heard a lot of good things about it so I'm keen to give it a spin.

One of the first things I did was install Windows XP with Parallels. I could have used Bootcamp to dual boot Windows but having to reboot to run different software is pretty ugly. Parallels did a great job of installing Windows with no interaction (except for putting in the second cd).

It seems ironic that virtually the first thing I do with my Mac is install Windows! But since our business is all Windows software, it's a crucial feature.

I had downloaded the new Parallels release candidate since I liked the sound of the new "coherence" mode. It's awesome. I have my Windows task bar (set to auto hide) at the bottom of the screen, my Mac menu at the top, and my dock (also set to auto hide) on the left. Suneido seems to run fine. Our test suite runs as fast (if not a bit faster) than the brand new dual core PC I bought recently. It's pretty impressive to have OS X and Windows programs sharing the screen seamlessly.

I'm still having a little trouble getting used to the Mac mouse and keyboard. I keep trying to right click on things! And I keep trying to use Ctrl+C for copy instead of Apple+C. At least with Parallels Windows programs seem to accept Apple+C. And Home and End scroll to the top and bottom instead of going to the beginning or end of the line. Apple+right arrow seems to be end of line, but Apple+left arrow doesn't seem to work, at least in Firefox. Some of this is probably configurable.

Now I just need to install Ubuntu in Parallels and I'll have OS X, Windows, and Linux all in one wonderfully compact system.

Disclaimer - calling this my first Mac is stretching it a bit. I've worked with everything from Apple II's to Lisa's to Mac's, but I've never actually owned one for myself.

Tuesday, January 16, 2007

Amazon S3 Tools continued

Just to confuse things even more, I tried #Sh3ll from home on a big file and it worked fine (even over wireless).

So that would seem to indicate that the problem is with my network connection at work. Although that still doesn't explain why jSh3ll worked.

However, I didn't get around to trying the others and I only did the one test at home. So it could have just been lucky.

I'm not sure where that leaves me. Maybe we should try #Sh3ll (because it appears to be the easiest to deploy) on a few of our clients and see what happens.

Monday, January 15, 2007

Amazon S3 Tools

We ftp our client's database's back to our office nightly. This gives them an off site backup and it gives us quick access to their data to help support them. The problem is that as our client base has grown we have run into bandwidth limits at our office.

We could use a hosted ftp site, but I thought it might be worth trying Amazon's Simple Storage Service (S3).

The catch is that authentication is done with HMAC-SHA1 which we've never implemented for Suneido. So instead of writing our own interface to S3 I figured we could simply call someone else's command line tool.

There are quite a few available tools for S3. Here are some that I tried:

s3cmd - Ruby

#Sh3ll - C#

jSh3ll - Java

s3tools - Python

s3curl - Perl

I wanted something that would be easy to deploy on our clients, preferably without installing a language run-time. The best for this appeared to be #Sh3ll which was an exe that only required .Net 1.1 which should be installed on most recent Windows machines. However, there are tools to turn Perl, Python, or Ruby programs into standalone executables so that might be a deployment solution.

But the only one I could get to work consistently for large files was jSh3ll which requires Java 5. All the other tools give timeout errors. I'm not sure what jSh3ll is doing different, or whether Java just has better network support.

The question is whether it's practical to require the Java runtime to be installed on our customers servers. It doesn't seem unreasonable to me, but some people are touchy about it.

PS. There is a nice Firefox extension for S3

Saturday, January 13, 2007


After reading The Innovator's Dilemma by Clayton Christenson some time ago, I decided to start a pilot project to make web-based trucking software. (Currently we develop and sell Windows desktop trucking software.) I'd also been hearing a lot about Ruby on Rails so it seemed like a good chance to try it out. is the result so far. There's not a lot there yet, but it's coming along.

Unlike other people's "too good to be true" stories, we weren't able to produce this over a weekend. Perhaps if I or the programmer I hired had more (any) experience with Ruby or Rails (or even web application development) it might have gone faster. But it's been a slow learning process (many months) to get to where we are now. I think/hope that it will go quicker now that we have figured out the basics.

Have a look. Any feedback is welcome.

Thursday, January 11, 2007

Windows XP Annoyance

Ever since I upgraded my Windows machine it has insisted on weird paper sizes. Google Picasa showed crop sizes in cm and printing showed choices like A3 and A4 instead of Letter and Legal.

Eventually I tracked it down to choosing "English (Canada)" at some point in the Windows install. This shows up in the Control Panel > Regional and Language Options

Where should I start to complain about this?
  • When you choose "English (Canada)" during setup I'm pretty sure it doesn't give you any information or warning about what effect this has. I have a hazy memory of the question being phrased as "What is your language?" (nothing about units of measure or paper sizes)
  • Canada does use metric, so I can sort of see where the crop sizes in Picasa come from, but actually we still use inches for photo sizes e.g. 4 x 6, 5 x 7, 8 x 10
  • Canada does not use A3, A4, etc. paper sizes, we use Letter, Legal, Tabloid etc. When you go to the store to buy paper, that's what you find.
  • The Customize for the Regional Options doesn't even have a choice for centimeters versus inches or A3/A4 versus letter/legal.
The "solution" is to pick "English (United States)" even though I'm pretty sure I'm really in Canada.

Strangely, I don't recall having this problem before. Either something has changed or for some reason (it was the default?) I always made the right choice previously.

I realize many Americans think Canada is some obscure little outpost somewhere in the far north, but surely someone in Microsoft's hordes of developers and testers and QA people should know better! If nothing else, check and see what paper sizes they sell!

Web Annoyance

Here's a good one - Holiday Inn's Priority Club web site requires a dash in Canadian postal codes e.g. S7N-2X8.

Why would this programmer decide to dream up their own unique postal code format? The only think I can think of is they didn't want to handle spaces, but that's pretty feeble.

There are standards for this kind of thing, why not use them?