I use my iPhone quite heavily as an ebook reader. I read in various situations, but one of the most frequent is when I’m in bed. When you’re lying down, either on your back or on your side, it can be quite a strain on your hand muscles to grip the phone and also use your thumb to scroll the pages. So a while back, I came up with a super-cheap way to improve the situation by adding a strap that holds the phone to your hand (actually, it holds it to just your index finger). Whenever I show this trick to other folks, including seasoned, cynical tech folks, they seem impressed. So I thought I would post it for search engines to find. All you need are

  • an iPhone or iPod touch, any model
  • a case that covers just the back of your phone
  • a thick rubber band (you might need to try a few sizes to get one that’s comfy)

I tried other kinds of straps besides a rubber band, but the elasticity and rubber material both make it very comfortable and easy to grip your hand. You might need to try a few different sizes of rubber band, to get the tightness and thickness that are most comfortable for you. Lay all these items out like so:


Notice my Incipio case is looking cracked and old, after just a year! I do not recommend that brand. I think the dust inside is from all the rubber bands I’ve used :). Anyway, next you wrap the rubber band around the case. I find that if you do it at an angle, it is more comfortable for your hand and provides more alternatives for finger positions:

rubber band around case

Then, put the iphone in the case, on top of the rubber band. You may have to work some slack into the rubber band, so that the phone can nestle into the case without straining against the rubber band. The phone won’t fit all the way into the case since the rubber band has some thickness, but I don’t really notice it.

iPhone, rubber band, and case

Here it is from the back:

rear view

Now, whenever you want to hold the phone for extended periods, just slip your index finger through the rubber band.

finger in rubber band

Your hand muscles can relax, and you can much more easily use your thumb to scroll the pages of an ebook:

scrolling ebook

I’m sure a case manufacturer could do much better with a built-in strap, but so far I have yet to see a case like that. In the meantime, enjoy this trick and enjoy reading ebooks!

The iPhone does not display any progress bar or countdown to let you know when the song you’re listening to will end. If you tap the screen, such a bar is temporarily displayed, but it isn’t there all the time. On the classic iPod, in iTunes, and in most other software-based music players, we’ve been getting used to having these indicators. I don’t like them because I think a song should set its own pace. I think it detracts from the listening experience to see there are 30 seconds left, because when I see that, I start thinking about how short a time that is, and will the rest of the song really fit because they have a whole other chorus to sing, etc.

I’m glad the iPhone does not show this information all the time, and I hope it becomes an option in the other players I use.

Clie TH55iPhone 3G I’ve owned a Palm or Clie device (which used the Palm OS) for 8 years. I used them as my PIM and as an eBook reader. My very first blog post was about eBooks, back in 2001. But my needs for a calendar are slim (but not zero), and my need for contact information is confined to making phone calls, which my devices couldn’t do, or sending Christmas cards, when I’m at home. So eventually my latest Clie, the TH-55, sat on my bedside table as my bedtime eBook reader.

Now I have an iPhone 3G and Fictionwise has ported my eBook reader to the iPhone platform. I’m thrilled to say the phone has subsumed all the Clie’s functionality, plus it’s a phone and an iPod. Its screen is beautiful, it’s the same size as the Clie, and the fact that it’s a phone means it now matters that I have contact info. The fact that it’s always syncing with my computer means it’s a great home for my calendar data. I’m very happy!

Now I need to think of a useful app to bring shelfcentered functionality to the iPhone!

Farewell, Clie, we hardly knew ye.

iPhone’s iPod icon I bought an iPhone 3G this past weekend (and waited 4 1/2 hours for the privilege). One of its functions is to play your music/movies like an iPod. You access this feature through a button labeled “iPod”. It has a picture of an old, non-iPhone iPod on it. This struck me as funny (haha funny). I think of the iPhone as subsuming the iPod in a device with extra functionality. But to explain to the user what this button does, it has a picture of an old iPod on it. And it’s not called “iTunes” or “Music and Movies”, or “Media” — it’s called “iPod”. So the iPod has become a piece of software, and the hardware has just become an icon.

Makers of software demonstrate their values in their products. Each decision they made along the way is visible to the user in one way or another. Most Windows users I talk to don’t even grasp this idea. They claim that Mac users are nigglers, and are too detail-obsessed. But I believe these issues can have an effect on everyone’s daily life, in a much bigger way than we generally acknowledge. This post presents a great example of this, namely OS updates.

Every month or so, both Mac OS and Windows need to apply some patches, often for security reasons. I approve of this practice, because it helps guarantee the squashing of bugs that can affect security. But my work habits need to be taken into consideration, too. Rebooting my computer is a big deal, and takes a long time, on both platforms. At work, I usually have quite a bit of my own personal state of mind reflected in what’s running. I have many command-line sessions, documents, notes, and web browser windows open. These can only be reinstated by re-opening each item one at a time, which takes effort, and constitutes a major interruption, probably 20 minutes before my mind and machine are back where they were. I think interruption is a major drag on productivity in todays multitasking environments, and being able to concentrate for long times is precious. Certainly it adds to my stress to have to bring all this stuff back up when I wasn’t expecting it.

Here is how the two platforms deal with this issue. On the Mac, every so often, a program called Software Update runs by itself. It looks like this:

The Mac’s Software Update interface

The main thing I want you to notice is the very leftmost column, where the Java update has a blank and the other two have a little power icon. The legend at the bottom says “Restart will be required.” Each update has its own checkbox controlling whether to install it right now or not, and some text below explains more about the update. The main point I’d like to make is that I don’t have to install any updates that require a restart right now, if I don’t want to. If I don’t want to reboot, then I can install the Java update, or not, then I can quit Software Update and keep working. When the internal schedule again causes Software Update to run, or if I go myself to run it to catch up on updates, the updates I skipped will still be there.

Here’s how it works on Windows. I think I have my machine set up in the most agreeable way as far as this process goes, but if you know of better settings, let me know. Every so often a balloon appears in the tray, asking me to click to check out some updates that are ready to be installed. I set things up so that they’re already downloaded. When you click the balloon, you are asked to Express Install, but it doesn’t tell you anything about what the updates are. If you choose to Manually Install, you see the following:

Windows XP’s software update interface

This is similar to the Mac in many ways, but note that in the text description, it says “After you install this item, you may have to restart your computer.” I’ve seen that same text there so many times, it became the motivation for this post. I want to install updates that don’t require restarts right now, and I’ll install the ones that require a restart later, at the end of the week, before I go home for the weekend, which is when I don’t mind rebooting my machine. Microsoft neglects to indicate what will happen with this update! Why? Don’t they know? If not, why have they made that impossible for themselves? If they do know, why don’t they tell me? I think this entire question would be completely lost on them. I say that because anyone who grasps this issue would just tell me! Even if they merely had done a better job copying the Mac they’d have gotten it right. As it is, I end up not installing updates like this because I don’t want to take the gamble of spending the next 20 minutes finding my place in my work again. Basically, I treat it as if it requires a restart.

One day, with the update pictured above in fact, I took the plunge, and decided to run the update. What happens next compounds the stupidity of the problem. First there’s this:

You lose

So, I lost the gamble. “May have to restart” became “must restart.” I was busy, so I clicked “Close.” Now this is the best part. Every 30 minutes for the next three work days, the following dialog came up and I had to dismiss it:

The dialog I saw dozens of times

Each time this dialog came up, I grimaced and made a decision whether it was worth it to reboot and get rid of this assinine annoyance, or simply click the “Restart Later” button and keep doing my job. Finally after a couple days of clicking “Restart Later”, I gave up and clicked “Restart Now” and lost the 20 minutes it takes to get back up and running.

The conclusion can only be that Microsoft doesn’t care. And I don’t mean that in a small way, I mean it in a big way. This is the kind of nuisance that Windows presents every single day, to tens of millions of computer users. They are grinding us all down with their deprioritization of us, their human users. So I don’t even need to argue in this case that Apple is more user-friendly. This case clearly shows that Microsoft has a deep lack of understanding not only of what computers are for, but also what people are for.

My second Mac moment came when using the text editor TextWrangler to work on ShelfCentered.com. Yesterday I had put my Mac on mute for some reason, and of course I forgot about it and was working away this evening. I was searching a document for occurrences of a word, and there were none. Now, usually this would produce the usual audible beep. But the developers of TextWrangler included a feature that automatically detected my Mac was on mute, and instead popped a message up on the screen that said “Not Found.” I didn’t even really notice how wonderful this was until a minute later, because I just received the information and proceeded accordingly. I managed to capture the message before it faded out:


This example is a perfect illustration of how the Mac philosophy of excellent user interface design has historically also been reflected by Mac developers. Bare Bones (who make this text editor) has a long history on the Mac, and are well loved as a result. There is care and foresight reflected in this interface element. And it is not eye candy or useless feature bloat, either. When the volume is muted, how can the user be notified that the command has successfully been received, but there are no text matches? To ask the question is to seek more depth in your interface.

At my workplace, the Mac platform is often derided by what I consider typical “PC guys.” These are technically savvy folks who for whatever reason feel very strongly that the Mac platform is poor, or should go away, or that Windows has definitively proven its superiority. Sometimes these same people are also very skeptical of Microsoft, but usually not. It’s strange, though, that someone can feel so ambivalent about Microsoft yet so strongly negative about the Mac. Recently, the success of the iPod has served to greatly increase the bitterness and spite felt towards the Mac by such people.

Anyway, since I’m often asked at work, “Why do you love the Mac so much,” I decided to try to answer it. I am unable to give detailed reasons on the spot, so I thought I’d keep it in the back of my mind, and blog about it when something occurred to me. Besides, most of my reasons are very mundane and subtle interface design issues that sort of accumulate in my mind into a positive feeling over time. When one of these small things happens, rather than let it fall through the cracks, I hoped to catch it for a segment I call “Mac Moments.”

Before proceeding to the Moment, let me add that I am also a heavy user of Windows and Linux. There are great things about all three platforms, and I’m a competent user of all of them. I own a fast PC because I like playing the latest games, which is the same reason I own an Xbox and a GameCube. I don’t hate Windows, in fact I think I have the most balanced opinion on the pros and cons of these systems of anyone I know! But of course, look who’s telling me that. Okay, I hope that addressed any fears you may have had that I’m a serious Mac zealot. On to the Moment!

My first Mac Moment is very small.

In the Mac OS, when you Command-click on the titlebar of a window that’s not in the foreground, you can move that window around without bringing it forward.

In my case, there was a progress dialog for a movie file I was processing in the background, and I was working in a text editor in the foreground. I wanted to slide it to the right a bit in order to see more of the progress bar, so I could monitor the progress while I worked. I didn’t want to bring the whole movie application forward, I only wanted to move a background window. On the Mac, I’m able to perform this common, mundane task. On Windows, there is no such thing as modified clicks on window frames. Any click will bring the window forward. In the worst case, this can be expensive, causing a redraw of the window as it comes forward, and then another redraw when you switch back to what you were doing. Moreover, if you were working in Word or a text editor like I was, the click to bring your work back to the front might move the cursor from where you were working, forcing you to reposition it.

Like I said, this is a small issue. But over the course of years, you come to appreciate the extra thought that went into the Mac. A Windows user typically doesn’t even recognize that this sort of user-centric way of working even exists. Basically, a Mac user expects the machine to work the way they do, while a PC user is expected to mold themselves to the machine. We’re so used to doing that sort of adapting these days that we come to expect it. But it’s not just I who expect more — many others do as well, and all it takes is a little more brainpower when designing the OS.

I don’t think I’ll finish my rant against the Mac. I think that primarily I was angry about the state of affairs typically faced by a developer. However, despite the fact that I do think documentation of the Carbon toolkit is flawed, and I have some fundamental problems with the way these legacy facilities have been brought into OS X, for the most part I find I’m still very excited about the Mac, and I’ve had a very positive experience with the much more modern Cocoa environment. So, all in all, I think the game situation is pathetic, but the Mac still has many compelling advantages. Maybe I’ll try to sort this out in a later posting.

Please understand I’m of two minds about the Mac, and so my remarks should be taken like those of a concerned parent, rather than, say, a Palestinian suicide bomber.

My main points are

  • Lack of games
  • Inadequate developer documentation, including horrifying backward steps
  • Lack of affordable hardware
  • Counterproductive “boutique” model
  • Ignorance of the real competitive advantages over Linux, Windows
  • Poorly managed transition to OS X