Poor UI Design – iTunes

I hate iTunes.  It seems an odd thing to say about a piece of software.  But I do.  My iPhone cost me a fortune.  As far as I’m concerned, it should be an appliance.  It should be as simple to operate as a stereo.  On the whole, the phone is.  But using iTunes is a painful experience, every time.

Now, I’ll accept that some of this is a Windows-bias.  I object to having a Mac-styled app thrust upon me.  But here are two concrete, and indefensible, examples of the garbage that it iTunes.


For no reason that I am aware of, iTunes ‘lost’ its configuration.  There was no error message: one day, it was downloading podcasts and the next it wasn’t.  This has happened before.  I tried, in vain, to copy the podcast definitions from the iPhone to iTunes but I couldn’t see how.  So, I started to set them up again.  Now, I tend to listen to podcasts in batches.  Some of the ones on my phone weren’t still downloadable.  So, I had to listen to all of the old podcasts before I could re-sync because iTunes overwrites everything in this situation.  Grrrrr!

That week, I downloaded a couple more apps.  I’d downloaded a few and they’d just overflowed the existing layout and appeared on a new pane, as they do.  So I went to iTunes to organise them.  It had lost the layouts as well.  When I clicked the Sync button on the apps page the old layouts which had been visible in iTunes (but sort-of greyed-out) were replaced with apps spread over twelve panes and random folders, sometimes two or three to a pane.  It took me over an hour to copy the existing layouts from the phone to iTunes, just so i could re-sync them back and add the new apps to the old folders.  Grrrrr!

Example 1

Anyway, on to the first example.  I realised later that iTunes had also lost all of my music.  And books.  And films.  In fact, everything.  So I tried to work out how to get them back.  I knew the music would be in folders so I had a browse round, found a likely candidate and tried File > Add Folder to Library… etc.

It started asking me this:

iTunes dialog box which reads: The app "Books" already exists in your iTunes library.  Do you want to replace it with the one you are moving?

It asked me it a lot.  In fact, 238 times, one for each app.  Actually, I’m guessing: I didn’t count.  I just clicked.  For a long time.  Who thinks this is the right way to do this?

But this isn’t really the problem.  Read the dialog again.  ‘Replace’ or ‘Don’t Replace’.  Which should I pick?  What are the consequences of picking either?  Why doesn’t it tell me?  There is a similar dialog which warns be I’m about to replace a newer version which suggests that in this case the versions are the same or the replacement is newer.  But it doesn’t tell me which of those.  I picked Don’t Replace.   I still don’t know if I did the right thing.

I don’t really understand why the dialogs appeared at all.  But I don’t want to: it’s an appliance.  Except that it’s not.

Example 2

Here’s the second example.  At the end of the process described above, I clicked on TV Programmes in Library.  This appeared:

Again, what are the consequences of clicking either?  If I click Don’t Apply, will I lose everything I’ve just done or will there be an opportunity to apply it later?

I clicked Apply.  It’s still syncing.  [I actually typed sinking there, which is how I feel now!]

And a dialog box appeared mid-sentence; clearly, I typed a relevant letter and it’s closed so I have no idea what I’ve done there.  Mind you, I can’t blame iTunes for that: responsiblility for windows being able to take the keyboard focus sits with MS – they have a lot for which to answer with that design decision.


Windows Live Essentials Help Center – Install offline

I’m currently looking at using Windows Live Writer 2011 to write longer blog articles.  Our security suite won’t allow the standard web installer to run but there is an offline alternative: Windows Live Essentials Help Center – Install offline.

Posting source code

I just started to write a post and wanted to include some C#.  I found the solution here.  And here.  And here.  That last has a set of additional parameters you can use, including highlighting.

I include the solution here to save you a click:

[sourcecode language=”csharp” wraplines=”false”]
public class Demo { }

which generates

public class Demo { }

Other languages include:

  • css
  • html
  • javascript
  • text
  • powershell
  • sql
  • vb
  • xml

And there are many more on the aforementioned page.

This page gives a list of codes for including special characters, which I need every time I edit this page because it translates [ into a left square bracket “[” and ] into a right square bracket “]” and reformats what I’m trying to demonstrate as the results, instead of the source!


I’m not yet sure what this blog will become but most of my work is about identity management.  There’ll be posts related to Active Directory and user management, in particular, ILM*, AD LDS (ADAM as was).  I also write my own tools, usually in C#, so there might be a bit of that, too.

* Microsoft Identity Lifecycle Manager 2007 – it’s called FIM now but I’m still using ILM for the time being.