Archive for the ‘user interface’ Category

Filename Conflicts On Download

Thursday, March 4th, 2010

I was very satisfied when Apple revisited how the Finder handled some of its file-naming architecture. Some behaviors were bugs and absolutely had to be fixed. For example, prior to Leopard there existed a mixed behavior when renaming files under different view modes (Column View, Icon View, Detail View, etc.).

Finder's toolbar buttons for the different View Modes.

Normally if you start changing the name of a file and change your mind you could hit the Escape key, and the name would be restored to what you started with. However, under the Column View, hitting Escape was equivalent to hitting Return, and whatever text you currently had would be accepted. Very annoying! Obviously the first behavior is more intuitive, and it is inarguable that the renaming file behavior should be consistent throughout all View Modes.

The Good

Finder's intelligent filename selection which excludes the extension when renaming.The feature I most liked, however, was that if the extension of the file is visible and you started renaming it, the entire filename except for the extension was selected. This change made renaming much quicker and easier because not only did you no longer have to remember the extension, but less typing was required (on average four characters: period + three letter extension). At first these four extra characters might not seem like too much work, but if you rename a list of files, you would drastically notice the difference.

The Bad

There is at least one more thing that I see that needs to be changed. When Safari downloads a file and another file already exists with the same name, it begins appending sequential numbers (preceded by a dash) to the end of the filename in order to distinguish them (“-1”, “-2”, “-3”, etc.).

Two icons showing the intended behavior of Safari's renaming algorithm when downloading files with the same name.

But is the added suffix really appended to the end of the filename? Turns out it isn’t and I consider it a major bug. Say what you will, but I don’t see it as simply a behavior that isn’t necessarily right or wrong. I think it’s obvious what the intention is (refer to the screenshot above) and the screenshot below shows an example when the intention doesn’t carry through. From my observations, the Finder inserts the “suffix” immediately before the first period it encounters while searching from beginning to end of the filename. It should be inserted before the last period.

Two icons showing the malfunction in Safari's renaming algorithm.

The Solution

It would be very easy to iterate from back to front of the filename (my Page Capture widget does). And it happens to be more efficient since extensions are typically shorter than the actual filename. Hopefully someone over at Apple reads this post and fixes the problem. While they’re on it, they might as well fix the other problem I’ve mentioned with the TextEdit Autosave algorithm.

Gross iPhone OS Update Typography

Monday, November 9th, 2009

Check out the first line of the update message in the screen shot that I took on my iPod Touch below. The mistake between ‘O’ and ‘0’ is too apparent to not write about… not to mention typographically gross!

Screenshot Someone’s finger must have slipped from the ‘O’ to the ‘0’ — bad form!

iTunes Sucks

Tuesday, October 20th, 2009

You know, it’s a shame that iTunes now sucks.

A few years ago in the midst of the chaotic world of digital jukeboxes, iTunes emerged as a simple application to manage and play music — offering the basic features that one would need. Although it wasn’t groundbreaking in most regards, it did manage to stand out among the rest due to its extremely simple interface and integration with Mac OS X*.

These days, iTunes has become the fat and greedy roommate of the OS — every time it is called upon, I can hear the squeak of the plastic sticking to it’s back as it readjusts it’s fat ass on the vinyl couch. Its shear size and its toll on the processor has grown immensely and we can thank the superfluous features that are bundled with it: an integrated music store, Quicktime (oh my God… Quicktime for heaven’s sake!), a synchronization manager for your events/contacts/ringtones, etc.

I’m a programmer so I know that little glitches occur here and there. But a stable release of software, especially when developed by a professional corporation such as Apple shouldn’t have the problems I’ve noticed with iTunes.

Erroneous progression bar in iTunes.20 seconds have elapsed and there is more than three minutes remaining. Why is the progress indicator at half?

Moving on… the application allows for adding media into its library by simply dragging and dropping files into the iTunes window. This feature is nice but unfortunately also very unreliable with large quantities of files. When I attempted to add many files by this method, I noticed that not all the songs I imported had made it. In fact, only about 80% of them were successfully copied. Yes, I can prove it:

Screenshot showing the differences between two iTunes Libraries.A diff of the original and imported librarys’ contents. The gaps on the right show files that never made it into the new library.

Why does fundamental functionality not work? Could it be because the application is so big now that there are more avenues for errors to be produced? Maybe errors like these emerged because Apple decided to add features like mad men to an application that wasn’t theirs to begin with.

What?

I know, but Iit’s true. iTunes evolved from an application called SoundJam which was originally developed by 3 people at Casady & Greene. Apple purchased from the rights to this bit of software and after a quick face lift, released it as their own “iTunes.” John Gruber talks a bit about related issues on Daring Fireball and John Knack responds with some insight. And if you’d like to know more about the early days of music players on the Mac platform, there is a very informative story written by the guys at Panic.

Anyway, company acquisitions and inheriting code is normal these days, but I fear that iTunes never had the proper foundation for the features that it now supports. The amount of functionalities in iTunes can be deceiving since it has managed to maintain the same basic interface structure over the years — a commendable design achievement considering the growth of iTunes in the last few years. But integrating new functionality and features under the same simplistic interface more often than not calls for shortcuts that can become problematic.

The LCD-like interface of iTunes which functionally is expected to show current track information is used for displaying the progress of a download.

For example, whenever the LCD-like display is used for anything but current track information, comprehension for the user becomes a problem. Applications mimic real-life objects in order achieve intuitive functionality, but when the expected functional behavior of an interface element is modified, confusion arises.

With the release of iTunes 9, other inconsistencies have shown up. Take the volume slider for example. The part to the left of the dial is now “filled in” like a progress bar. But the slider on the heads up display when watching videos remains like the previous version (which I personally prefer) which is just a simple dial on top of a slider bar.

Volume slider and progress bar inconsistencies in iTunes 9.

And wait a minute… isn’t watching videos in a music player an oxymoron?

I think the only reason I’m still able to use iTunes is because I disable everything that I can in the preferences. This way, I’m able to make iTunes appear like the simple music player it used to be; like the simple music player it should be. Even so, it’s still disturbing to know that all those frivolous features that I hate are still tucked in underneath and weighing my application down.

Trying to keep the interface of iTunes simple by disabling all the frivolous features.

I’ve disabled as many of the features I can in order to keep iTunes looking like a simple music player. But even with the features hidden, they are just itching to jump out at me because despite having disabled the iTunes Store, I see a “Contacting iTunes Store” message when I launch the application. How frustrating.

*Yes, soon after its initial release, iTunes did of course have the ability to synchronize music to a portable player, but this feature wasn’t new for jukeboxes. The problem (that iTunes “solved”) was that you couldn’t buy a portable music player from Company A and use a digital jukebox from Company B to efficiently synchronize your music. The best way to manage music on a device from Company A was to use Company A’s own proprietary jukebox software. It’s no different with Apple. iTunes synchronization only works with Apple’s line of portable MP3 players — uh, I think they’re called iPod — so the way that iTunes “solved” this problem was to gain dominance in the market so that everyone uses an iPod and iTunes anway.

If only there had been a way to quickly synchronize the contents of a music library from Company X with a portable music player from any other company. Hmmmmmm.

Apple’s TextEdit App. Can Erase Your Files

Tuesday, May 12th, 2009

Icon of the TextEdit Application.Apple’s TextEdit application has a massive design flaw that could potentially erase other files on your computer. Weird, right? Ironically, it’s TextEdit’s safeguard against loss of data that is the culprit of the defect. And the corruption of files isn’t a randomly occurring glitch either — it is caused by a shortcoming of the algorithm used in the Autosave feature.

The Autosave Flaw

When editing a document in TextEdit, a copy of your work is automatically saved every 30 seconds to the hard drive*. This behavior is common in software as it provides a convenient means to recover some of your work should the application unexpectedly quit or crash.

Unfortunately, the means by which TextEdit saves a copy of your work is awfully rudimentary. It simply writes your data to a regular file and gives it the same name as your TextEdit document but with “ (Autosaved)” appended as a suffix (without an extension). And since no verification is performed to see if a file with that particular name already exists, it will overwrite anything that gets in its way with no confirmation or warning!

Example

To better illustrate this flaw, take the following scenario. Suppose, for whatever reason, that I have a file named Craziness (Autosaved) and I create a text document called Craziness.txt in the same directory. In the screenshot below Craziness (Autosaved) is an image file (with the extension removed in order to illustrate my point):

Screenshot of my 2 original files.

When I start editing my Craziness.txt file in TextEdit, the application autosaves my work (as it should), but since my image document has the same name as what TextEdit would call its autosaved file, my image file is overwritten:

Screenshot of TextEdit's autosaved file.

When I’m done editing my Craziness.txt document, TextEdit removes the autosaved copy (as one would expect). However, now my original image file is gone with no real way to recover it (since it’s not moved to the Trash but actually overwritten):

Screenshot showing loss of data caused by TextEdit.

Solutions

Accounting for this file naming issue is so programmatically simple that it’s astounding the defect even exists. The simplest improvement would be to prefix the filename with a period (as in .Craziness (Autosaved)) in order to hide it from the Finder since the chances of having a naming conflict with a hidden file are greatly reduced.

But hiding the file from the user still allows for potential name collisions and as Mac OS X’s default text editor, TextEdit’s naming convention should be even more robust. To start, TextEdit could include either a timestamp or a sequence of random numbers to help make its autosaved filename unique. Most importantly, however, should be to verify if a file would be overwritten and if so, generate a different random number or append an incremental counter. Heck, even my Page Capture widget won’t overwrite files since it uses the same naming convention as Apple’s screencapturing application (File 1, File 2, File 3, etc.)

The Rant

One might argue that the possibility of having a file end with “ (Autosaved)” and not have an extension is pretty slim. So what? My argument is that the possibility of an application deleting other files blindly is a completely unacceptable use case scenario, no matter how rarely it may occur. I think it is more reasonable to expect that a corporation as large as Apple Inc. would produce software that doesn’t delete unrelated files from my hard drive without my knowledge. Especially since OS X is — as Apple claims — the “most advanced operating system in the world.”

*30 seconds is the default. The time interval is configurable and the user is allowed to disable the Autosave feature entirely.

A More Intuitive iPod Shuffle Switch

Wednesday, October 1st, 2008

The iPod Shuffle is a wonderful little product and in my opinion is by far the best mp3 player that doesn’t display information about what is playing. But there is an element of its design that I consider to be flawed and which I attribute to Apple’s consistent choice to sacrifice options for the sake of simplicity.

iPod Shuffle Close Up


One of the two switches on the iPod Shuffle chooses the play mode: either Continuous Playback or Shuffle. The former will repeatedly loop through all the songs in the order that they were added to the iPod from iTunes. The Shuffle mode will obviously play through them randomly, but will it stop playing after all the songs have been played through once? Are Shuffle and Continuous Playback mutually exclusive?

Different Shuffle Symbol Suggestions for the iPod ShuffleThis conflict seems minor, but there might be a major design flaw here. A switch is a user interface element that chooses between two possibilities. Ideally, neither choice implies the other (or else a different user interface element would be used…more about this later). But in the case of the iPod Shuffle, the Shuffle mode implies continuous playback as well. And I agree that it should—it’s intuitive to me that Shuffle would also continuously loop through all the songs. But with the current setup (Default Shuffle Symbol), however, moving the switch from Continuous Playback to Shuffle is contradictory. I would have at least made the symbol something like: Alternate Shuffle Symbol Suggestion 1 or Alternate Shuffle Symbol Suggestion 2.

You might now be saying to yourself: “That’s all fine and dandy because the current symbols on either side of the switch are simply graphical representations of two preset modes: one that continuously loops through the songs in order and another that continuously loops through the songs but in a random order.” Well, let’s not be so quick to make that assumption because as much as I’d agree with you, that’s not the way iTunes does it. iTunes uses buttons to select the mode allowing the user to turn both Shuffle and Continuous Playback on at the same time.

Playback choices in iTunesAnd let’s not kid ourselves that it is ok to have iTunes do something different than all the iPods out there. Apple’s success with their line of mp3 players (as well as their other products) is almost entirely attributable the almost necessary connection between their hardware and software components.

Stupid People (Part I)

Tuesday, August 14th, 2007

Part I of what I expect to be a series of posts.

You know, there’s something that really bothers me about dumb people. I was browsing through Adobe’s site to check out the new features that the new Creative Suite offers and I ended up watching the “Feature Tour” for Dreamweaver, Illustrator, Photoshop and Indesign CS3. Did you know one of the features of Indesign is that it, and I quote, “has mouse wheel support?” “This is especially helpful when working on long documents.”

Really? What a novelty!

Oh, and don’t miss out on the awesome features of Photoshop CS3. Adobe has a good example of how you can hide and unhide a layer in their “Feature Tour” so be sure to watch the video.


No, really. The photographer that Adobe interviewed toggles the layers for a good portion of the video and says that “the new version is so easy to use and that it really has what we need.” Way to show the true power of Photoshop you moron!

People treat these new releases as if they are groundbreaking and innovative, but more often than not the new features are few and your use of the product won’t change much. The face of the product is what changes the most and people seem to think that means a whole new product. Sure, Adobe is the industry leader with their product line (don’t forget they purchased Macromedia a while back), but it doesn’t make them smarter than most other software developers out there.

Remember not to get carried away with what is advertised. All these advertisements are written by marketing folk who, even though have product knowledge, are just trying to get their job done and will say wonders to brainwash you into thinking that what they offer is the best available.

And don’t get me wrong, I’m not trying to single out Adobe. This bitch session of mine applies for all the idiots out there, especially the “Steve Jobs is God” lemmings.