Comment Re:It depends where you want to draw the line. (Score 1) 256
Apart from maintaining cross-system compatibility (and/or preventing a peculiar form of psychological lock-in by training your users to not understand foreign interfaces), there are certain realities that just make the interface conform to a particular standard. For instance;
- Rectangles. We've often dreamt of 3D interfaces and interfaces with crazy geometries, but rectangles are just superior - they scale, tessellate, and can be programmed simply (you need only four coordinates - either X*Y,W*H or X1,X2:Y1,Y2), and rendered easily. Windows don't just have to tessellate with other windows, but also with their contents! Circular interfaces might be novel, but they make very poor use of available space (they don't tessellate with their contents or other windows), are harder to program and render, and require the window contents to be a certain shape and position (ie, don't scale well). Not only that, but even the devices dictate rectangles. If you had a totally circular interface, you'd need a circular screen for it. Which means a circular computer (or rectangular sabot, which is a bad option for portables). And circular devices don't pack or port so well. As for 3D - it looks great, but until we have 3D screens AND peripherals to interact with them without getting gorilla arm, we have to use simulated 3D, which is cumbersome, computationally expensive and has no inherent usability advantages (besides the fact that humans can think in 3D easily).
- Windows. A computer, by definition, is multi-purpose. You need some way to pare the functionality out of the computer. Now, modern computers are far, far too complex for any one entity to be able to supply the entire gamut of functionality, from kernel all the way to kid's games (and even if they could, democracy and capitalism have shown us that competition means better products). Enter third-parties. Now, how do you divvy up the workload? The only realistic way is to make each each third party supply one piece of functionality - viz, applications. Ah, but now you want your application to "play nice" with the other applications, since functionalities might compliment one another (eg, web browser + music player + text editor). So, all the application designers have to code to some standard implemented by the system designer ("don't worry about decorating or positioning your window Mr. Application Designer, we'll take care of that"). This benefits all parties - application vendors don't have to keep reinventing the wheel, system designers can make their product more consistent and therefore more attractive to the end user, who enjoy said consistency. And what is a window if not a system-designed container which controls the geometry of each application (so as not to conflict with other applications), and decorates it with various user overrides?
- Menus. Well, you need some way to start and control applications. Now, you could use a number of things; hotkeys, desktop icons, contextual, or sidebars.
- Hotkeys. Hotkey environments exist, but they're not popular, because of the massively steep learning curve.
- Desktop Icons. Desktop icons are nice, but they're inaccessible once you have an application obscuring them (plus, you'd need to constantly spawn and remove desktop icons based on system status - eg, task management).
- Contextual. Contextual menus (a la fluxbox) are good, but they have a small learning curve (ever seen a new fluxbox user exclaim "how the hell do I do anything on this damn thing?"?), PLUS they're inaccessible once applications are running (they're contextual, so once you're off the desktop, your menu reflects your application).
- Sidebars. Sidebars are good - they're obvious ("What does "start" do? Oh, it opens a menu for starting things!"), they're always accessible - they're clearly the best choice for most people (disclaimer: I prefer hotkeys, but I'm not your average computer user).
Now, where do you put a sidebar? Well, unless you want it to get in the way of applications and interrupt workflow, you put it somewhere discrete - ie, to the side.
Your circular spoke idea is interesting, but it wouldn't work as a primary or default menu. Having said that, I'd be interested in seeing it as an optional hotkey-triggered overlay at the centre of the screen - perhaps you can have two (either as two different circles, or as concentric circles). Maybe if it dynamically "grew" (radial increase) to accommodate menu expansions, that'd be neat. If I weren't so busy/lazy, I'd write a compiz plugin (hopefully someone less lazy/busy will read your idea and pick up the slack