With both the new buttonless trackpads and the new iPod Shuffle, it seems that Apple’s going on an all-out war to eliminate as many buttons as possible from their products.
There’s a lot of value in simplifying controls, to a point. But nobody was complaining that either the laptop trackpads or the Shuffles had too many buttons before. In both cases, the devices are now worse off than they were before, but they look a bit cooler.
It’s easy to see signs of a perpetual internal battle at Apple between usability and appearance. Usually, they find a good balance and achieve high quality on both fronts. But sometimes the appearance-driving forces choke usability enough to leak toxic usability flaws into a shipping product. And I think, like 10.5.0’s translucent menu bar and slanty Dock, and Safari 4 Beta’s tab bar, and heavy shiny glass screens on lightweight laptops, and the Mighty Mouse, that this new Shuffle was a victim of the Apple style police defeating any semblance of common-sense usability.
I’ll agree that moving all of the playback functions on the face of the previous shuffle to one button on the headset of the new one is not as discoverable. However, I’d argue that once the new functions are learned, they are more usable.
The intended audience of the shuffle are people who are otherwise distracted by another task. They simply want to pick it up, hit play, and listen to music in the background while doing whatever they need to do. By moving all of those functions to one button, it creates an easier and more consistent experience.
Consider the following:
- You don’t have to think anymore where the control is. No matter what you’re doing, it will always be dangling from your ear right below your chin.
- You no longer have to find the correct button to perform the task you want. One button means one place to go for every function. (I can’t tell you how many times my wife hits the rewind button on her shuffle while driving, when she means to hit the next button.)
- The most common functions are also the easiest to perform. One click pauses, and two clicks skip the current song.
He’s right, sometimes Apple favors form too much over functionality. But in the case of the new shuffle, the updated style complements the changes in functionality.
I have always noticed that in certain dialog boxes, OS X has two types of highlighted buttons. For example, in the dialog below asking if you would like to save the document before closing, the Save… button is filled with blue, but the Don’t Save button only has blue around its border.
I think the intention of the UI is clear here. It is obvious that Save… is the prominent button, the one that you should choose to prevent any negative effects of the action you just took. It is also evident that Don’t Save is the less important choice, but one that you still may choose a lot of the time.
My problem was interacting with the dialog with the keyboard. The Enter button on the keyboard always selects the most prominent button. So if I wanted to select Don’t Save, I would find myself needing the mouse to specifically click that button. Well, I finally figured out that the Space bar selects the secondary button. This makes a lot of sense now, since the importance of buttons in the dialog mirror the importance of the keys. The most significant button for performing any action on a computer has always been the Enter key. Likewise, the Space bar is a fine choice for a key that is the next most prominent.
Download a Debian etch netinst CD image and start to install.
During the installation process, you will see a Software selection screen. Uncheck the option to install the desktop environment, and check the option to install the web server. This will install Apache for you.
After installing the main system, we don’t need the CD image anymore, yet Debian likes to keep it available as a source for retreiving packages. You can remove the line in
/etc/apt/sources.list that starts with “deb cdrom”.
After that, make sure you have the latest packages from Debian.
Install the essentials that we will need to build software from source, as well as SSH, sudo, and Subversion support.
aptitude install ssh gcc sudo build-essential make subversion -y
aptitude install mysql-server mysql-client libmysqlclient15-dev libmysql-ruby -y
When Debian installed Apache automatically, it didn’t include the development headers, which Passenger requires.
apt-get install apache2-prefork-dev
Now, if you install Ruby using apt-get, it will install 1.8.5 which is not compatible with Phusion Passenger. So, we should install Ruby from source. Version 1.8.7 doesn’t work either, but 1.8.6 is just right. Passenger also requires openssl support, so we will include that in the configuration.
cd /usr/src wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz tar xfz ruby-1.8.6-p114.tar.gz cd ruby-1.8.6-p114 ./configure --prefix=/usr/local --with-openssl-dir=/usr/lib make make install
The version of RubyGems that installs using apt-get is also incompatible, so we will build that from source as well.
cd /usr/src wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz tar xfz rubygems-1.3.1.tgz cd rubygems-1.3.1 ruby setup.rb
Now use RubyGems to install Rails, the MySQL gem, and Phusion Passenger. The following command could take awhile.
gem install rails mysql passenger
That’s all the software we need to install. Now we just have some configurations, starting with Passenger.
The instructions will tell you to edit your Apache configuration file (located at
/etc/apache2/httpd.conf) and add the following lines:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.6 PassengerRuby /usr/local/bin/ruby
You may also want to change the root password for MySQL.
mysqladmin -u root password NEWPASSWORD
With that, all that is left is to restart Apache for the changes to take effect.
apache2ctl -k restart