Saturday, October 27, 2012

Country rock is pretty cool

Recently found myself a fan of Jason Charles Miller (youtube, homepage). I think I'll explore this genre a bit more.

On another note, I hope to have more long-form posts pretty soon. Have a few drafted posts that need a rereading/polishing.

Tuesday, October 23, 2012

state and interface

I wonder to what extent you can impose a stateless interface on a system which has an underlying state.

As an example, I might have a "repeat playlist" option built into my music player. There is clearly a state here since when the player is in "repeat mode" it will repeat the track, otherwise not. Typically this would have some sort of toggle item in settings. The other option though is to just give two options "repeat mode on" and "repeat mode off" in the same menu, juxtaposed, with the implication that selecting either one will leave the system in the named state, regardless of what it was before selecting the menu item.

There may be limitations to this when the possible states aren't easily flattened out like in setting some continuous quantity. In general though, I prefer absolute state markers to toggles because they can be engaged with, paradoxically, more certainty and less knowledge of the system-- unlike with mute toggle buttons--what's up with that shit?

Control Your Data

This is just a bit of a reminder to myself to always define my data format manually.
Relying on Ruby to print out hashes in a specific fashion just hosed my test database :{

Monday, October 22, 2012

Golden Rules of Interface Design

Important document. First saw it first semester of my freshman year.
Reproduced below

1 Strive for consistency.
Consistent sequences of actions should be required in similar situations; identical terminology should be used in prompts, menus, and help screens; and consistent commands should be employed throughout.
2 Enable frequent users to use shortcuts.
As the frequency of use increases, so do the user's desires to reduce the number of interactions and to increase the pace of interaction. Abbreviations, function keys, hidden commands, and macro facilities are very helpful to an expert user.
3 Offer informative feedback.
For every operator action, there should be some system feedback. For frequent and minor actions, the response can be modest, while for infrequent and major actions, the response should be more substantial.
4 Design dialog to yield closure.
Sequences of actions should be organized into groups with a beginning, middle, and end. The informative feedback at the completion of a group of actions gives the operators the satisfaction of accomplishment, a sense of relief, the signal to drop contingency plans and options from their minds, and an indication that the way is clear to prepare for the next group of actions.
5 Offer simple error handling.
As much as possible, design the system so the user cannot make a serious error. If an error is made, the system should be able to detect the error and offer simple, comprehensible mechanisms for handling the error.
6 Permit easy reversal of actions.
This feature relieves anxiety, since the user knows that errors can be undone; it thus encourages exploration of unfamiliar options. The units of reversibility may be a single action, a data entry, or a complete group of actions.
7 Support internal locus of control.
Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.
8 Reduce short-term memory load.
The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions.

Sunday, October 14, 2012

Lake Street Dive

These guys are pretty cool. Nice jazzy/folk style.


Sunday, October 7, 2012

Facebook is like a chair?

Facebook is like a chair mainly in the capacity that I am on a chair when I'm 'on' facebook. The depth of the human connection they pretend to is grossly overstated given that the software is barely above the level of email in terms of usefulness, and further, is geared mainly towards promoting consumption of goods.