I write software for Windows, mobile phones and the web. All have different ways of organising a UI, this is some musings on them related to why (I think) the iPhone OS's UI is considered to be so "revolutionary".
First, a "standard" dialog for a Windows application (in this case, an RSS feed reader)...
This dialog follows the "usual" way of working on a PC - you select the item in question from the list and then choose an action from the ones available. Another way to have presented this would be to have the list the main body of the dialog and the buttons along the top in a toolbar. Either way there are some obvious "issues":
- There's a lot of information on screen, a lot of which may be of little use to the task at hand.
- It's not always obvious what things do what to what - for example, this dialog is shown by choosing "manage feeds", "edit" could mean: the selected feed, all the feeds or something else.
- The buttons are available even when they cannot be used (eg. when no feed is selected in the list)
- There is no direct link between the process "clicking the feed" and "clicking a button to do something".
Here's the same dialog using a "context aware" approach:
Here we only have two buttons which apply to the task in hand - managing the feeds - we can close the dialog or add a new feed. Clicking a feed in the list will show a popup menu with the tasks that are only relevant to that action and are obviously related to it as the action resulted in them appearing. In this case it's obvious that the items in that menu relate only to that item.
This is, what I consider, to be the main "ease-of-use" feature of the iPhone's OS: the fact that everything you do is logically related to the action you took - there's no breaking of the context or disconnects - you don't click an email to select it then find the delete option - you either put it into the delete "state" then click a button on emails to delete them or show the email then click a "delete" item.
Now, people may complain that it takes longer, or takes more clicks to do something with this approach but with the improved logical flow of the task it makes things a) easier to use and b) allows more to be done in a smaller space (the reason on the iPhone). It also removes the need for so many buttons - you need a means to select an item and an "action" button - eg. up/down and fire or a touch screen and a means to go back (and possibly "home").
Another example. To edit this post I had to click the following buttons on the blog engine: "Posts" -> "Drafts" -> (this post's ID) -> "Edit Content". OK, that may have been 4 steps but then it's more logical than selecting a "drafts" folder from a list on the side, then selecting this post in the main list then clicking a toolbar button for "edit content". Each step had a "back" button taking me one step back up (eg. clicked the wrong post? click "Back" to go back to "Drafts" and click the right one) and a Home button for quickly returning to the start. And, importantly, this works on any internet connected device as all the actual work is done server side. Here's a picture of what it looks like (yes, I like the design...)
Things do seem to be going this way more often on the desktop these days - the removal of menu bars from IE and Firefox 4 and such.
Anyway, that's my comment. Put yours below - I'd be interested in hearing them...