Notebook
June 30th, 2009

Date data detector in a Web browser

I didn’t see anything on the Snow Leopard Enhancements and Refinements page about Detectors being added anywhere but TextEdit.

May 23rd, 2009

I finally redeemed two iTunes gift cards last night, finding the process generally straightforward. That said, many Macs now have iSight cameras built-in. As proven by Delicious Library, an iSight can also function as a barcode scanner, moving the bulk of the input burden from the user to the computer.

Scanning an iTunes gift card

A second barcode (which creates a bit of confusion) would not have to be added if the scratch-off alphanumeric code could be recognized as such using OCR. With foreknowledge of the typeface and the processing power of modern Macs, this seems technically feasible.

In case the camera is in use by another application, the Scan via iSight button is disabled and the application name is displayed.

Camera in use by another application

There would have to be some conditional rules to hide the mention of optical scanning and the attendant button on Macs without a compatible camera.

May 10th, 2009
Categories: Interaction, Interface

Being annoyed with having to constantly open and close Fireworks’ modal Numeric Transform dialog, I thought would be particularly useful in design applications to scale and reposition objects based on relative calculations like “this box should be 25 percent taller”.

Assuming this had been implemented somehow, I found the current method available in Mac applications described by Dave Mark, who learned of it from Mike Ash. The process is as follows:

  1. Enter a formula in a text field such as 10/2.
  2. Select the formula.
  3. Press Shift-Command-8.

Easy enough, but totally invisible unless you know it’s there (not necessarily a bad thing) and yet another keyboard shortcut to remember. The fact that Script Editor pops open is also mildly surprising and irritating.

Proposed Improvements

Keeping the existing method (though not requiring Scrip Editor to perform the calculations) is fine for free-form text, but a design specific to number boxes would be very helpful in many applications. It reduces input repetition (a starting value is always available), application switching, and would be a great help to me as I have trouble doing math in my head. As Dan Saffer stated in his Designing Smart and Clever Applications presentation: “Do what humans have trouble doing but computers can do easily.”

  1. Giving focus to a number input field displays a calculator pop-out.

    Pop-out calculator
  2. As the user inputs a formula using the keyboard or pop-out, it is written into the field. This provides a hint to the user that they can type in formulas directly.

    Formula input by pop-out calculator
  3. The formula is executed when the user clicks the Equals button, presses the Equals or Return or Enter key, or moves focus away from the field. The pop-out calculator disappears whenever focus moves away from the field. In the image below, Enter was pressed, moving focus back to the object in the document window.

    Pop-out calculator formula executed
May 8th, 2009
Categories: Interface, Music, iPhone, iPod

At most parties I’ve been to in the last several years, the music source was one or more iPods. For this reason, a Party Mode would be of some use. Locking your iPod while it is being used for playback prevents other people from playing DJ, which might make sense if you’ve carefully constructed a playlist, but if you are open to letting others choose music from your library there should be a middle ground.

  1. iPod Settings: Party Mode off

    iPod Settings: Party Mode off
  2. Party Mode Settings: off

    Party Mode Settings: off
  3. Party Mode Settings: on

    Party Mode Settings: on

    1. Wi-Fi toggle for battery conservation.
    2. Though not depicted, Brightness controls might also make sense.
    3. There is a good argument for allowing action-specific sound toggling. My thinking is that for the time the iPod is in Party Mode, it’s just a music player. You don’t want spam landing in your inbox to interrupt a jam.
    4. Enable a Passcode if you want to retain iron-fisted control.
    5. Restrictions would allow you to hide any individual app other than Music and Settings. For example, you might want to block those with personal information such as Contacts and Mail while the iPod is sitting unattended.

In my experience, iPhones users don’t offer up their devices for party music, which is understandable given that you might need your phone to take calls from guests, etc. Were a Party Mode offered on the iPhone, options to silence the ringer and send calls directly to voicemail would be useful.

May 3rd, 2009

I find myself wasting a lot of time creating calendar events that share a lot of properties, but differ in time of occurrence and duration. Auto-complete still requires per-field interaction.

For example, a band may rehearse regularly, but not on a fixed, repeating schedule that can be cleanly accommodated by a calendaring app’s recurring event interface. You want to be able to easily create an event involving the same people (your bandmates), usually at the same place (your rehearsal studio), with a varying date and duration.

Templates to the rescue.

Event Templates Pane

Event templates sorted by use

  • Once dropped to the calendar area, the template title text is given keyboard input focus to allow renaming from the default.
  • A Custom sorting option allowing the user to arrange the templates however they like might be useful. The set of templates you use may change over time as you work on different projects.
  • Double-clicking a template opens the editor.
  • Modifications to events created from templates do not propagate back to the template.
  • Deleting a template has no effect on events created from the template.
  • A menu command allows a stand-alone event to be used as the basis for a new template.

Event Template Editor

Event template editor

  • Modifications to templates do not propagate to events created from them.
  • As they exist outside of specific dates, only a default duration is set on a template.
  • All other properties can be set as with normal events.

Problems

Templates would not work cleanly in Contactizer’s All events list view. What happens when you drop a template event to the list? A title field and date/time picker could appear at the drop point. It’s still likely to be less input than creating the event from scratch.

April 8th, 2009
Categories: Interface

David Weiss (The Security Implications of URL Shortening Services) and Joshua Schachter (on url shorteners) both wrote about URL shortening services recently, focusing mostly on security. I began drafting this post a while ago because of the negative impacts of such services on link usability.

  • Shortened links remove valuable information from the address string. Maybe I can recognize the URL as being an article I’ve already read. Maybe it’s posted on a site I know to be worthless to me.
  • Shortened links are hard to relocate. How do I find that link that was sent via e-mail once the page has been purged from my browser history? Of course, type “shrtng.com” in the search field of your e-mail app and then comb through the messages containing crapified URLs!

How about fixing the problem of needless character limitations instead of providing a crutch? I’ve heard the “it is a constraint that inspires creativity” line to defend the limitation. Bullshit. If you want to write succinctly, being able to write a lot does not stop you from doing so. The inverse is not true.

Given the discomfort of typing on any phone keyboard for an extended period and the burst usage patterns of mobile devices, I really don’t think there is a significant risk that removing the SMS character limit will result in people writing and sending novels via text message, thereby gobbling up carrier bandwidth and bringing down networks worldwide.

April 2nd, 2009
Categories: GNOME, Interaction, Interface

Evolution is generally a good app, so the e-mail account configuration assistant sticks out. Unfortunately, it is the first thing users encounter after first launching Evolution.

    1. First, a pointless welcome message that refers to the Assistant by a name different from the window title.
    2. It appears that prime marks rather than quotation marks enclose “Forward”. This typographical mistake appears throughout the Assistant.



    Welcome

  1. Poorly wrapped instructional text.

    Identity
  2. “None” is not a sensible default for an incoming server type.

    Receiving default: None
  3. The server portion of the e-mail address the user input in the Identity step should be placed in the Server field.

    Receive via IMAP
    1. An automatic periodic check of 10 or 15 minutes would be a sensible default.
    2. Junk filtering on incoming messages would be a sensible default.
    3. Hiding the custom command and folder namespace settings in a progressive disclosure would cut down on the clutter.



    Receiving options

    1. More poorly wrapped instructional text.
    2. The Assistant should take a stab at the outgoing server address based on the incoming server address.
    3. Use the incoming server username as the outgoing by default (I typed mine in).



    Outgoing server

    1. If an account name is already taken (thereby disabling the Forward button), tell me.
    2. Poorly wrapped instructional text.



    Account management

  4. Lastly, a pointless pat on the head.

    Final Assistant step
January 20th, 2009
Categories: Interface

Hello, President Obama.

January 19th, 2009

Rescheduling an event to another day using the mobile Calendar app on the iPhone requires at least six taps across four screens. The method depicted below reduces the minimum taps to two with the number of screens depending on how many days the event is moved.

  1. In Day view, tap and hold the event.

    Event pressed in Day view
  2. With your other hand, tap the forward (or back) triangle button in the date bar.

    Tap forward button while holding event
  3. Alternatively, while still holding the event, swipe from right to left to go to the next day (or vice versa for the previous).

    Swipe while holding to move forward or backward
  4. The event is moved to the next (or previous) day at the same time. The event box would always remain beneath the tapped spot, nudging overlapping event boxes aside if necessary.

    Event displayed on new date

Problems with the Method

  1. Not easily discoverable
  2. Requires two hands or Evgeny Kissin-level finger dexterity
  3. Only works cleanly in Day view, though variations for List and Month could work

Indra Raj on MySpace

December 4th, 2008
Categories: Finder, Interface, Movies, OS X

Mac OS X’s DVD Player allows users to set the title and a jacket picture for each disc. Some DVDs specify the jacket picture already, as in the case of Samurai Rebellion. These two pieces could be used to better present the DVD on the desktop.

  1. Disc Info
    DVD Player Disc Info
  2. Jacket Picture
    DVD Player Jacket Picture

Put them together…

DVD Jacket Picture and Title on Desktop