Christoph Derndorfer writes: > I honestly can't think of a use-case for including any sort > of 3D acceleration into the basic Sugar and activities. There's > about a million significantly more important things that people > should be working on before even thinking about 3D (IMHO).
One can use a 3D accelerator to greatly improve human factors in the GUI. Smooth transitions in the GUI are vital to reducing the user's sense of disorientation and confusion. This isn't just an issue for less-clueful users; you might not realize it but poor transitions are forcing needless mental effort that eats up a tiny bit of time here, a tiny bit of time there... and it all adds up. You may feel it in frustration even if you don't spot the cause. Without the 3D engine, animations are a painful compromise. They are slow, jerky, and CPU consuming. Imagine if the frame could slide into view with fast perfectly smooth motion and almost no CPU use. Think how much more usable Sugar would be. Imagine if view switching and activity switching looked like a rapid zoom out to showing a grid of all views and activities, then a rapid pan to the right grid spot, and finally a rapid zoom in to the newly selected view or activity. Better yet, make it all in one smooth motion so that the user feels as though they are jumping with a ballistic trajectory. The confusion goes away and the transition might even be attractive. You can't make this be acceptably fast or smooth without a 3D engine, even if you cheat by using static screenshot images for the activities. Imagine having every activity smoothly scaled to fit the screen. An activity opens a 320x720 window. It becomes a 400x900 window on the LCD, but the activity doesn't have to deal with that at all. Getting stuff to work well on the XO is suddenly much much easier. Users can spot objects on the screen faster if they have slightly organic shapes. Rather than having **perfectly** sharp corners on things, give them tiny anti-aliased curves. Use bump mapping and other shader features in **subtle** ways to enhance object edges. Make the edges look like they have been polished or sanded a tad, instead of being infinitely sharp and thus ill-defined to the eye. Today, pressing a GUI button normally causes the button face image to shift a bit. That's the best we could do before 3D engines. Imagine if the button face could pop from convex to concave, with perfect realism. The highlights, the density of the shadow, etc. The button metaphor would be more effectively represented to the user. BTW, stay away from the pointless stuff. It's now common to use 3D for random nonsense that hurts usability. Don't do that. Stick to the stuff that helps the eye follow things: smooth motion, softened shapes, realistic shading, quality scaling, etc. _______________________________________________ Sugar-devel mailing list Sugaremail@example.com http://lists.sugarlabs.org/listinfo/sugar-devel