UsabilityRants.org

May 5, 2008

Just say no to auto-swoosh

Filed under: spaces, mac — mitch @ 11:14 am

Recently it came up on Apple’s x11-users that Spaces “auto-swoosh” mis-feature can be disabled.  Wow!  Spaces is about 1000 times more useful now.

defaults write com.apple.Dock workspaces-auto-swoosh -bool NO
killall Dock

Credit seems to belong with this page.

April 8, 2008

A rant about my own code

Filed under: roaringdiff, mac — mitch @ 6:12 am

A few years ago, I wrote RoaringDiff because I missed xxdiff when working on my Macs and compiling xxdiff on the Mac is a non-trivial exercise.  Plus, I had always wanted to write a differ, so what better way to spend my vacation after I quit my job than to write a differ?  Yeah, I couldn’t think of anything better either.

Anyway, I’ve been using RoaringDiff pretty heavily for the last few months and it’s getting high time to set aside a few days and fix some bugs in it.  I was inspired to write this rant about my own code when I discovered yesterday that I don’t provide a way for the user to set the text color.  What the hell?  Sure, set the background color, but it had better have good contrast with black, because you’re stuck with black for the foreground.  While we’re on the subject of color, where the heck is the “reset to defaults” button in the color preferences?

One of the premises of RoaringDiff is that it’s a GUI differ but ideally suited for driving it from the command line.  I’ve been reconfiguring my office, getting ready to buckle down for 4 months of hard coding.  As I mentioned in a previous post, this has included spending ~$4000 on all new monitors.   With the new video configuration, I’m really missing a -geometry argument from RoaringDiff, an issue I’ve known about from the get-go.  The lack of a -geometry argument might be excused if the tool would remember the last window position, but it doesn’t.  It always maximizes on the main graphics device.

It’s also time to update the text rendering to use Quartz instead of QuickDraw.  In Leopard, running the differ from the shell spams the user with:

2008-04-07 22:11:33.068 RoaringDiff[5645:10b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.

Not very inspiring, especially when traversing a few dozen files with svn diff.

Also, why does the differ insist on showing the “open these files to diff” window when launched from the command line?  Why doesn’t it quit when the user closes the window?  Why do the line numbers in the gutter look foolish?  Should there be a gutter on the right side of the window too, so that when the user stretches the diff view across two identical width displays, the center of the diff is, uh, in the center?  How come the differ doesn’t show the differences within the line (like xxdiff does)?  (Answer:  Vacation ended.)  Granted, the differ does show the cool “stacked” view at the bottom of the selected line, which is better than nothing, and is better than any other differ I’ve seen when you want to carefully compare two specific lines.  But when someone renames 40 variables in a file, the individual line-by-line examination is too tedious to use.

Expect an updated differ soon.

April 7, 2008

Firefox 3 Tabs & Scroll Wheel

Filed under: scrolling, firefox — mitch @ 8:39 am

I recently noticed that Firefox 3 beta 4 and beta 5 (and maybe earlier releases) support the scroll wheel when the mouse is over the tabs–using the up/down scroll wheel moves the tabs left and right.

This is awesome.

April 6, 2008

Dealing with massive screen real estate on the Mac

Filed under: multimonitor, mac — mitch @ 8:09 pm

Since the Mac II in 1987, the Mac platform has supported not just dual-head but even 6 or more monitors (though I recall the first Macworld article about the Mac II, while quite enthusiastic about the new computer, was disappointed that only 5 worked in the author’s testing).  I’ve been using a minimum of 3 displays on my development systems for nearly a decade.  I am currently in the midst of upgrading my displays to a total of 7360 x 1600 on my Mac Pro (one 30-inch 2560 x 1600 and four 20-inch 1200 x 1600).  I had been previously running an awkward mixture of 8448 x {1600, 1200, 1280}.  What no one tells you about having 11.7 million pixels spanning 81 inches across your desk is that many GUI fundamentals begin to break down:

  1. Manual window management becomes a nightmare.
  2. Losing the 16 x 16 pixel cursor happens frequently. After all, the cursor only covers 0.00217% of the screen.
  3. A single menubar for the whole system sucks.  Yes, I am aware of all that is wonderful of the Mac’s placement of the menubar at the top of the screen.  But it sucks to have to mouse a few thousand pixels back and forth just to use the menubar.
  4. Though not as uncommon on the Mac as on Windows, some applications do not consider the user having multiple monitors.  Some applications handle the multiple monitors but do not allow the user to make huge windows (say, 6000 pixels across).
  5. With different height monitors, a lot of things get annoying on their own–This happens even with just two monitors, say 1280 x 1024 + 1024 x 768 (a configuration I used for a while).  There’s little “mouse traps” where the cursor can get stuck.  Dragging windows back and forth between screens comes to require a manual resize operation post-drag.

I have probably missed a few of the issues, but this is a good starting point.To this end, I have been looking for some tools to reduce the mouse pain.  So far I have found:

  1. DejaMenu - A tool that provides replication of the menubar as a contextual menu.  I would prefer a tool that replicates the menubar on every screen (there are some tools for Windows that replicate the taskbar, for example), but this is a great start.  I have a Kinesis Freestyle keyboard, and I programmed DejaMenu to use one of the bonus keys on the left of the keyboard.
  2. Simple Crosshairs - This tool provides CAD-style crosshairs on the screen, but doesn’t quite work right on multiple monitors.  It also doesn’t work with Spaces (but then what does?  It’s great the Mac finally got virtual desktops, but Spaces has a lot of issues right now).  However, Simple Crosshairs works well enough to be more useful than nothing.
  3. Universal Access - I have increased the cursor size using the built-in Universal Access System Preferences pane (look under the “Mouse” tab).
  4. Wraparound - This tool moves the mouse cursor to the left edge of the leftmost monitor when the mouse hits the right edge of the rightmost monitor.  There’s some other configuration parameters available too.

These tools are a great start, but I am still looking for:

  1. Something that would let me configure my various mouse devices independently.  Mostly looking to change button assignments and acceleration.  I have 7 (!) different types of mice plugged in to give my hands some variety of mouse positions and postures through the workday, but there’s no good way to configure them and manage them as a set.
  2. A better crosshairs solution.  The Simple Crosshairs tool is great, but I want to tweak the hell out of it, aside from the multiple monitor support.
  3. Some way to easily jump between monitors.  The Kensington MouseWorks software used to have this, if I recall correctly.  I have thought about this in conjunction with the Kinesis Savant foot switches. (No, I do not currently own those switches, but they are quite tempting.)
  4. Finally, a real window manager.  The state of Xorg on Leopard is bad (but getting better), so switching over to X11 for a lot of my work isn’t doable yet.  On Tiger (XFree86 instead of Xorg), I had been working on writing my own window manager for the multi-monitor problem, but I’m waiting for X11 to get more mature before I get back to work on that.  In the meantime, I’ve been looking at AppleScript hacks as a way to deal with the window management problem.

By the way, though I’ve talked about the problems in the context of Mac solutions, these problems exist in Windows and X11 Xinerama systems as well.  I have run massive screen set-ups on both Windows and Linux (XFree86 and Xorg), but no one really gets the multi-monitor situation right like the Mac does.Rotation support on X11 is sketchy from card to card, and the configuration of Xorg.conf is not trivial for me, even though I have done it dozens of times.  The accel driver situation for ATI and Nvidia cards seems easier to deal with on Ubuntu than Fedora (because of the non-free apt-get repositories that can be easily enabled), but you will still have to choose cards carefully.  In some ways, this is like the Mac–only a few cards are supported, so Apple has effectively chosen carefully for the user.On Windows, far too many applications don’t consider the idea of multiple monitors.  Windows XP out of the box doesn’t enable different desktop backgrounds per screen.  The ATI Catalyst stuff is a nightmare (see a previous rant).  Cygwin is horribly out of date.  I need new Windows licenses to run 64-bit, and there’s the whole activation nonsense.So I use the Mac.

March 20, 2008

Undo for everyone

Filed under: undo — mitch @ 11:37 am

Here’s a thought:

Undo is a standard feature expected for undoing the user’s actions.

What about undoing the computer’s actions, especially with computers guessing what we want?

In general, undo of either human or computer actions would be more useful with a full navigation history of the actions taken.  Undo should be a palette of history (along the lines of what Photoshop implements), not just a double buffered document.

March 17, 2008

Adobe is not ready for business

Filed under: flex — mitch @ 9:59 am

Adobe is not ready for their products to be used for business.

Today my Flex 3 beta expired.  This showed up as a compiler error in the middle of a debugging session.  Sure, the little box at the lower left of the Eclipse window has been counting down the beta expiration for a few months, but I never had an in-your-face warning until the thing just stopped working.

After screwing around with the horribly designed Adobe store, I managed to purchase the Flex 3 release license key.  There are so many things wrong with the online Adobe store I don’t even know where to begin.

But guess what?  The Flex 3 key I just paid $261 for doesn’t work in the beta.  I have to stop what I’m doing beyond the 20 minute interruption I’ve had already and gingerly re-assemble a Flex 3 environment, which, as anyone who has been doing Flex for more than 6 months knows, is a tedious and magic-laced process.

Screw Adobe.

Update:  It took me over three hours to figure out that (1) the Mac installer is broken for installing the plug-in and (2) how to work around it so that I have a working environment again.  Thanks a lot guys.

March 7, 2008

Choose wisely

Filed under: Uncategorized — mitch @ 12:08 pm

I was recently presented with this dialog box.  Fortunately, “No” was the right choice.

February 21, 2008

Wacom Pen Tablet Preferences Don’t Support HotPlug

Filed under: Uncategorized — mitch @ 8:48 am

Someone needs to tell Wacom that USB is, er, hot-pluggable.  I plugged in my tablet and wanted to change the cursor behavior only to be told that I need to reboot.  What is this, 1997?

February 7, 2008

Oracle Express Edition 10g Has Scrolling Issues

Filed under: scrolling, oracle — mitch @ 11:25 am

Byron writes:

In order to scroll fully through the tables on the left or the data on
the right you have to scroll the browser window up/down/left/right.  And
there are buttons on the far top right of the data, so you have to
scroll the browser all the way to the top right then scroll the data all
the way to the top right just to get to the button.

And, right now at least, if I maximize the browser it scrolls to the
bottom of the page no matter what I do, so I have to keep it this size.
Might fix it if I maximized and reopened…

The screenshot made me laugh.  How many times have we seen Web or other applications with this problem?

Controlling SaaS

Filed under: saas — mitch @ 6:24 am

I already covered the issue of a buggy SaaS and the inability for a user to correct or resolve a problem with SaaS-delivered software.

But what about the problem of SaaS that is up to no good? Recently I stumbled on the insane spamming of Shelfari, a SaaS product that tens or hundreds of people have used to send thousands of spam emails by accident. Although such actions might not be accessible to a normal user, if the Shelfari product was a desktop application sending out email, at least the user can kill the application.

In a SaaS scenario, job control is not available.

The ease-of-deployment of a SaaS product is attractive. Losing control not only of your data but also losing control of control should give us some pause.

Next Page »

Powered by WordPress