I have written up an article about a bunch of ideas for 3D desktop development now Project Looking Glass is Open Source. A number of the Looking Glass owners have an interest in the document and it might prove interesting to get an insight into the potential desktop of the future.
And some of these are in Windows, Mac OS X, SkyOS… I don’t see a new things here.
Most of the suggestions just seem to be more “nifty”, not more intuitive or useful. I like the idea of different document thicknesses, though, but just like the concept in the grey-hair icon article on Slashdot recently, this can easily be a 2D thing.
Kev
I think the biggest problem people have in developping 3D interfaces is what kind of metaphors to use to define the work environment. We haven’t quite figured out yet what is best left to 2D and what can be enhanced by 3D.
So far, it seems that a lot of people thought along the lines of the 3D-like-the-real-world interface, as the author of the article proposes. What I find problematic with this is that it seems to miss the point that what you see on your computer is a) a 2D visualization of a 3D object (insofar as we are sticking with screens as they stand now) and b) can be radically different from things in the physical world, with added advantages. It will not help me to import my video on my computer if I see a 3D camcorder object on my screen (cf. the article), just like it makes no difference to look on a video (a 2D image) that’s projected on a 3D TV that I see through my 2D screen. Ditto for the paper document: this kind of representation of information IS by nature 2D.
On the other hand, information itself is not necessarily one- two- or three-dimensional: it tends to be multi-dimensional. Take text, for example. If you look at it physically, it seems to have one physical dimension only (two, if you wrap lines): a succession of letters. If you look at the content, however, you can say that it has much more dimensions: the different topics, the distinct parts of the documents, the references it makes to other documents, etc. And that’s where the mapping of this multi-dimensional information into a world with less dimensions (e.g. the physical world with its 3Ds) could be interesting.
Imagine a text to be a object you can rotate in space, along the three axis: if you look at the back of it, you can see a list of links to other texts; if you look at the side of it, you will see footnotes; if you look at the bottom of it, you will see the table of contents; on the top of it you will find critical commentaries about it, etc.
Honestly, who could care less about seeing a text file as being more or less thick, depending on its size? Such a 3D representation gives little insight into the content of the information contained in it, and a number besides the filename is more than enough to know its size. One has to come up with something more insightful to justify the jump to add another dimension.
Apple has integrated a tad of 3D in iChat on Tiger: when you are doing videoconferencing with many people, you seem the projection of their images on planes in 3D space. It’s cute, sure, but there is at least one useful reason I see why they did it: because it reproduces the cognitive circumstances of a normal conversation. You see people left, right, and in front of you, more or less at the same eye level as you, and these people can “look” at each other because the four of you are positioned in a circle.
And why limit the concept of “dimension” to “spatial dimensions”? If I use color labels in the Finder on a Mac, am I not using 3 dimensions already? The X/Y position on the screen + a color = 3D representation. No AGP needed.
A 3D desktop like Looking Glass just isn’t going to happen anytime soon. The hardware for doing it just is not widely available, and won’t be for quite some time. I would focus on using some of the unused 3D hardware out there – namely some 3D features on a 2D desktop.
Looking Glass isn’t going to happen on your local desktop any time soon, and don’t believe those presentations by Jonathan Schwartz. What kind of hardware do you think is behind there?
It’s really annoying to have different video players installed on my computer. All with different controls and shortcuts. In a perfect world, the user wouldn’t know what format the video would be in. There’d be just one video player which would play all formats perfectly (and legally).
As MHV points out, all it really is, is a “2D visualization of a 3D object”.
Becasue of this fact, I believe that additional pixels used to give the impression of depth are a waste of real estate.
Why skip ahead to trying to create a 3D environment anyway (read: MS task gallery). Why not try to come up with a 2D solution like an efficient way to use additional task panels on the same work space?
This would work too
http://go-l.com/monitors/grand_canyon/features/index.htm
I tried Madotate and SphereXP figuring that I’d see for myself if the 3D window manager idea was actually useful or just hype. Previously, I’ve also tried a 3D desktop environment. (Some old software where the desktop was a fairly ugly penthouse like thing, can’t remember the name – basically lead to me spending 30 seconds walking from the “Office” room to the “Games” room to launch another application. Of course, this involved a painful, unskippable door animation.)
Personally, I prefer the old fashioned idea of multiple desktops and the ability to roll up/pin windows. From my experience, it’s been both faster and more tidy.
What do we need a 3d desktop for? Seriously, for programers, it is fun and a “wonderful task” to create such a “marvel”, but does the average use really need something like that? Even for academics, its pretty useless
(Quote)”Imagine a text to be a object you can rotate in space, along the three axis: if you look at the back of it, you can see a list of links to other texts; if you look at the side of it, you will see footnotes; if you look at the bottom of it, you will see the table of contents; on the top of it you will find critical commentaries about it, etc.”
Sounds fine, but do you really expect, that I will twist and turn my virtual documents on my desktop, only to see footnotes e.g.? There are enough 2d-ways to make work on a text document useful. If I want to read a document, I want to read it the simple way. Point.
Making document-icons/thickness grow etc. is again a nice toy, but useless. If I want to know, how thick a document is, I simply look at its size and the page-index.
Seriously… this sounds like some kids, gone crazy while programing. Get back to earth and simply make the applications bug-free and clean up menu-structures, but don’t try to build something that nobody really needs (except for his ego, perhaps).
Exactly what I think.
And why is it that those who develop 3D interfaces always begin saying “the relation icon/file is unintuitive”? If someone is unable to see that relation after 20 seconds in front of a monitor, then that person have a serious psychological or neuronal problem. After all, even children in kindergarten don’t have problem with that relation (they learn very easily that they have to click on that little square thing there to see Teddy Bear singing Chrismas carols). We do these sorts of mental associations before even learning to read. We are able (most of us) to build furniture just looking at some drawings. If we weren’t so good at interpreting icons, how could we drive? And if 2D isn’t good to represent 3D objects, why have we so many museums full of fantastic paintings?
I may lack of imagination, but I don’t see any problem with 2D interfaces, and don’t see where would be the real progress with a 3D GUI.
Sounds fine, but do you really expect, that I will twist and turn my virtual documents on my desktop, only to see footnotes e.g.? There are enough 2d-ways to make work on a text document useful. If I want to read a document, I want to read it the simple way. Point.
I agree. If one wants to have footnotes and links in a document, an additional pane or a collapsible table would make it a lot more tidy. Not to mention less resource hogging.
I don’t have any backing for this, but it seems that as long as the monitors we’re using are 2d we don’t have much to gain by going to a true 3d desktop. We still see a 2d projection, and anything designed with that clearly in mind ought to make better use of the screen. Sure, a few 3d touches (like the stacking of windows) makes sense, while, say, rotating a window to see the backside of it is only a (more time-consuming, though better-looking) way to swap two windows (or the content of one), if you focus on what it accomplishes.
Indeed, look at the word “desktop”. A desktop isn’t very 3d. Flat papers lie on top of each other, and you view them face-on as 2d surfaces.
Given a projected 3d interface and a suitable way to interact with it (something reading the position of our hands, perhaps) 3d is a better idea. I won’t hold my breath waiting for mainstream 3d projecters with good enough quality to read long texts or work with video, though.
The number one problem I find when teaching newbies how to use computers is the navigation of the file system. People can’t even open a file with The GIMP in Windows because they have to navigate through a maze of directories. Docume~1 anybody?
If you have animations and real depth you can script animations that act as reminders of the structure of the file system. So you’re training people about the structure of the system through automated navigation and they don’t even know they’re learning.
I propose some of the brainiaks in here go help out with the OGRE open source graphics engine. We’re using it for a driving simulator but it could have many other applications. http://www.ogre3d.org
I’ll preface this by saying this can be entirely done in a 2D windowing environment. The biggest advantage I can see with an inherently 3D environment is scaling. A virtual desktop that can be much larger than your actual monitor. I’m thinking a concept similar to expose (heck.. expose may do everything I’d like, but no Mac to try it out on).
Ideally, just the ability to be able to have many windows open and be able to zoom out and in to the appropraite one quickly. Ideally they would group themselves by the task at hand. Programming related windows (ide, help system, documentation) all in a single area, entertainment windows (internet, personal email, games, media) in another, personal work (finances, bank sites, school work) in another area, etc. Ideally with a way to quickly switch between actual tasks, not just applications.
Hmm.. come to think of it, this doesn’t have much to do with 3D (same can be achieved with multiple virtual desktops now) but I can see some potential as to how it may help.
Project looking glass runs on a 32mb 3d accelerator, 128 mb at most, I saw it in january at linux.conf.au, it was presented on a sony vaio laptop, seems your hardware must suck if you don’t think it’ll run… for the rest of us with geforce 4 ti 4800s.. we’ll be enjoying it.
A conversation with a looking glass developer today published:
http://today.java.net/pub/a/today/2004/07/06/3ddesktop.html
the inner mechanisms of the looking glass (pdf):
http://wwws.sun.com/software/looking_glass/docs/LG-Xdevconf.pdf
I agree with you.
I think the most important thing at the moment is to have a desktop where navigating is real-time. It’s really bad this wasn’t made yet: a vectorized desktop. It would be kickass.
The main one is this: computers aren’t meant to imitate reality. They’re meant to make reality more manageable and make our lives more productive. I don’t want a file cabinet metaphor with a real 3D file cabinet showing me my files, because I bought a computer specifically so I wouldn’t need to use a file cabinet. If I want a file cabinet, I’ll buy one, but shame on me if I don’t have those important documents in a digital format, searchable and quickly accessible with a few keystrokes or a mouse click.
All those steps to burn a CD? It has a wow factor, but I’ll take ALT+F2 – k3b – ENTER any day.
UI experts who think we should try to imitate reality are barking up the wrong tree. We should be imitating _intuition_, which _sometimes_ has a grounding in reality. In other words, our desktop, 2D or 3D, should be a workspace of our mind, and should be organized in a way that our mind finds most comfortable.
That’s why the #1 buzzword in UI design should be CHOICE. Different minds work different ways. There should be lots of ways to organize my stuff.
I personally agree with the efforts of the Gnome HIG or of the tenets of a spatial file navigator, but not for the typical reasons. I think the purpose of those efforts is to make the graphical experience effortless, so that I can work in a graphical desktop as quickly as I can work in a console. But these efforts need to complimented with the very best ideas we have in fast ways to access data and smart ways to organize it. Reality is about the poorest model for this.
My desk is always messy. But my computer desktop is always clean and organized. I don’t want to boot up my computer, and have my screen look like a 3D representation of my messy desk.
๐
It’s interesting how he said he wanted to steer clear of someone walking around in a Doom style map manipulating files and drawers. At what point does 3D become so close to our real life way of interacting with things that you lose the convenience of using a computer? At work we were making this database app and we joked how one day the interface would be a 3D representation of a warehouse with filing cabinets where you could go in and manually search through the drawers and look at 3D models of the data we were storing (server harware configurations).
we should make efforts to get things like
http://www.fingerworks.com/XWinder.html
better and deeper into system…
I prefer a clean monitor, not one with smudges
I think it’s good that there are people thinking about this and the different ways it could work, not all the ideas will work but you need discussion and to try things out to find out whats best.
I’m not keen on some of the ideas (i.e. pressing different mouse buttons to navigate the different dimensions of the 3D space). Using real world metaphors is a good starting point, I think some will work some wont, and for somethings there may not be a real world metaphor which works.
It’s on it’s way, thats for sure, but it’ll need time to get it right.
I agree with you regarding the question of having a simple interface to look at a simple thing (text). My example may have been a weak one, but what I was trying (more or less well) to say is that if one wants to design a 3D interface (or call it a 3D within a 2D world, etc), one must step aside from the actual implementations and think about how to represent information by looking at information in itself. It’s not throwing the actual 2D metaphors of document, desktop in a 3D world that will help the UI designer. If one really thinks a 3D interface is valuable, then that person must think from the ground up, starting with the actual properties of the information he/she wants to envision.
> I prefer a clean monitor, not one with smudges
:)) me too
but i think XWinder thing could be done without touchscreen:
– a new input device that is a mixture of a touchscreen and a keyboard. formally a flat keyboard where you can switch the keyboard function while you are fondling it (touchscreen function).
– or simply use the keyboard and the mice (like the young boys do it in Counter Strike or Enemy Territory games) and have a software that is able to make the input devices collaborate to get this XWinder effect. Actually i started to work on this 2 years ago but i’m a hobby developer…
BTW, about clean monitors -> clean desktops:
i prefer the desktop without useless icons and buttons (thank god it’s not that hard to hide them all). i do everything by keyboard (xcept graphic apps and window moving/resizing of course) with a hotkeymaster software (it has scriptable keyboard shortcuts, everything). so i don’t have explorer:taskbar, i try to get rid of buttonbars and menus in all of my applications because the work with keyboardshortcuts are really faster for me.
i think the next quote is VERY VERY important:
> That’s why the #1 buzzword in UI design should be CHOICE.
> Different minds work different ways. There should be lots
> of ways to organize my stuff
everything should be customizable on the (hopefully vectorized/vector-based?) desktop from the titlebars/windowborders to the smallest part of the interface!
Excellent post!
Doing things for the sake of doing them is good in that it sparks innovation, but it shouldn’t be pushed as “the way to go”. This is how Microsoft ended up with flying document animations while copying files. It is good that these are out for people to think on, but to expect no criticism is both counter-productive and childish.
It’s like programming languages. Don’t be a single-language zealot. Use a language where it makes sense. This isn’t religion.
I don’t understand the hype over this useless piece of crap. You know, with X, ever since I don’t know when, you could have virtual desktops, desktops larger than the monitor, etc etc. But the problem with that is that it requires neurons and fingers to navigate through the vast desktop universe that is constantly in front of us, in our screens.
All hail the 3d desktop, that will open a new world to us, a world where the weirdos that can use alt-tab and a mouse are obsolete, a world where no CPU is fast enough or no amount of RAM will do. And you’ll *need* an iPod to go with it, of course!
What people is Sun hiring these days? Apple rejects? Pre-puberty programmers and “visionaries”? It’s a sign of the times. The brainless hordes are taking over!
If you look through that site, you’ll see that XWinder is not a touchscreen system but uses a mousepad-like peripheral.
Too bad. I was going to chime in and make a joke about gorrilla-arm.
PS: They have devices similar to what you talk about as well
http://www.fingerworks.com/overview.html
๐ well atleast some people can read
the devices look
good to begin with…
well and using cheap web cam with IR filter and gloves
with IR diodes … it would be possible to create
Minority Roport like hand gesture interface…
tracing 6 light dots on black image and interpreting it
is not that difficult….