Something to keep in mind.
The name of the game here, is balance.
Yes, reductionism is important when laying out a UI, I am a happy believer in less visible is more...
Keep in mind that if you hide something in a menu, that means you have to SHOW that menu. This typically translates into more button presses.
So yes, finding the things we use most, is important.
I have the following orbiter surfaces:
* On screen display in Bedroom, with Fiire Chief, MCE IR, and Gyration Go Mouse 2.4's as remotes
* Five WebDT 366/360 tablets running PadOrbiter. The two main ones I use are in the bedroom, and the Kitchen. I also have one in the bathroom.
* A Cisco 7970 Phone orbiter at my main laptop's desk
* A Nokia N810, which floats around everywhere
* A Nokia N70 phone as my Mobile Orbiter
* an iPAQ 3115 Windows PDA for testing the PDA variant.
So I can test just about everything in a real world setting.
One of the things I can tell you, is to record your interactions with the system, make note of how many times you press buttons to do things, and the choices you have to make, for example:
I did a rough interaction log in one 6 hour evening, and found:
* I went into videos 18 times
* I searched for a video using search 2 times
* I searched for a video using a detail filter 9 times
* I searched for a video with no filter 6 times
* I searched for a video using just the high def media type 1 time (because I knew it was an HD movie)
* I went into audio roughly 7 times
* I played a playlist 2 times
* I played an entire album 2 times
* I played a filter selection (genre: ambient) 1 time
* I played individual songs, 2 times.
* I changed lights in the bedroom 3 times
* I changed lights in the foyer using the floorplan, twice
* I used follow me for media, once to bounce media from the bedroom to the kitchen
* I used the computing section 3 times to browse sites.
and so on.
Maybe not this detailed, but to give you a mental picture of what you're doing to make yourself aware consciously of the steps you are taking to do a particular task.
A Note about Button Arrays
much of Orbiter's functionality comes from the fact that user scenarios are dynamically generated. Read that again and burn it into your skulls.
To give an example, there is a utility that runs in the background called UpdateEntArea. This little utility takes stock of ALL of the devices in an entertainment area, and figures out what buttons to add to each category on the main page:
* If a media director is present in a room, TV, Audio, Videos, Docs, Playlists, and any buttons for legacy A/V control are added to media.
* If an optical disk drive is present in a media director, the Manage Drives button is also added to media.
* If there are any lights in a room, On and Off scenarios to turn all those lights off at once are added.
* If there is a media director in a room with lights, Showtime is added so the lights can dim. An event is also added to trigger showtime when media starts.
* If there is a thermostat ANYWHERE in the house, buttons are added to turn it on and off.
* If there are any sensors that can be armed, an Armed event is added, which triggers a scenario called Leaving Home, which turns everything off in the house.
* If there is a camera, it's added as a button
Some future examples might include:
* If game ROMs are present in the games directory, the Games button is added to Media
* If you are in the kitchen, a scenario is added to show recipes.
and so on.
Point being, The number of buttons and everything changes depending on what is available, and you have no way of statically controlling these things in a maintainable manner. This is where arrays come in..
arrays are merely areas on a screen where Orbiter can lay out in a grid like fashion sets of designobjs (usually buttons) which are populated by the various plugins. Because arrays are sets of designobjs, they are generated as part of the orbitergen process.
I hope I've made it clear, that we have to think way beyond the realm of just trying to make a pretty picture, and that we have to be very holistic in our approach. We have to be aware of the moving parts in this system and know that they all react to one another.
Some stuff to think about,