The future of UI - 3D?
What if a button didn’t have to look like a button? What if it could look like anything you wanted it to? Lets say a book that was sitting on a shelf. That isn’t too fancy…you can do that right now with images and CSS.
Ok…but what if, when the user clicked on the book, it slid forward and got larger, flipped a few pages and then showed you the content inside. That can be done in Flash right? Well…kinda. Just like you can make a 2D image look 3D, you can make Flash behave 3D-ish, but it doesn’t have a very solid 3D engine.
Yesterday I took the long view and talked a little about building UIs for a keyboard-less world. That world is coming…
However, even the comfortable world we live in right now is about to change in a big way. I have talked about it before but WPF is on the next horizon and it promises to bring a whole new slew of goodies that has the potential to impact UI developers in a big way.
To give you an idea of the possibilities check out this video (its a bit long, but there are some really amazing demos). In it you see one of the Microsoft developers giving a glimpse at the 3D capabilities of the WPF and Silverlight frameworks.
He focuses on the fact that WPF exposes a full 3D engine in a way that any skilled programmer can use it. Can you build the next Gears of War in it? No because it is managed code and therefore can’t talk to the hardware directly like pure Direct3D. However, it will allow you to build fully 3D visualizations such as the “book button” I mentioned earlier.
When I get a break between projects I would like to dive into some of these goodies to get a little “trigger time” as the Mail Call guy calls it (love that show…). Until then a big question to ponder is what this means for the UI Developer.
3D interfaces are like the groundhogs of the computer world. They poke their heads up every once in a while and see if the world is ready for them. Now, admittedly, the previous groundhogs have been mangy and ugly, but even if one with a bright shiny coat and a cute little nose pops up, is the average user ready for a him?
Imagine building accounting software in 3D…it boggles the mind a bit because it is a completely different paradigm. I mean right now you show accounting data in a flat grid. Why? Because that is the way it always has been done. To truly embrace a 3D world would require a major shift in how you display data. Would grids go away? Probably not, but normal menus and navigation surely would. Adding depth to a program really changes things. If you wanted to see detailed information related to a part of a grid, maybe you would just “pick it up” and see what was underneath. Things wouldn’t need to be minimized, they would just get stacked like pieces of paper. Don’t need something? Just put it to the side, or under what you would rather look at. The possibilities are endless and will require a whole new slew of standards to get the average user on board.
There is a reason buttons look like buttons after all.
When I think about 3D interfaces I am reminded by the line in Jurassic Park…”people have been so busy figuring out if we could, that they never stopped to think about whether we should” (Jeff Goldblum says it much better). The point is, the question of “can we do it” has been answered. It is a definitive YES. Now the question is “should we do it”? Should we throw in a Z-axis just because we can? Is the user helped with this, or would they just get confused? I lean towards the latter. I mean, think how long it took the older folks to grasp the mouse?
The real problem is that we can’t know if “Joe User” is ready until we put it in his hands. Can you make a 3D interface right now? Yeah, you can, but you practically have to have a masters degree in linear algebra. The everyday programmer doesn’t have the right tools to build one right now. WPF plans to change that and allow those of us who don’t have those advanced degrees a chance to build one.
When the “normal” people can build them, then you will see a lot more of them. Build enough of them and standards will begin to form…what works? why does it work? what confuses people? what makes it confusing? Those are questions that can only be answered by trial and error and a whole lotta users getting their hands dirty.
I, for one, am excited about jumpin’ in and getting all muddy. How ’bout you?


Beth said,
Wrote on April 30, 2007 @ 2:37 am
I think it’s fantastic. Everything’s moving forward, and there’s no need for everyone to keep up at the same pace. Humans don’t keep up with each other in any other facet of life, so why do so with technology? We all reach different levels of awareness and understanding on spirituality, what it is to be human etc. It will not matter if our grasp on technology is also staggered.
It’s great to see people moving in different directions like this - always awesome to watch the human mind develop more and more down a particular path. I look forward to getting into it with you (although I’ll be on the side of downloading the beta versions of anything I can once it’s been made and loving it as soon as I can).
David said,
Wrote on April 30, 2007 @ 9:32 am
The problem with people grabbing onto technology at different paces is that the developers have to meet the needs of the lowest common denominator.
Lets say in 5 years, websites are developed to be displayed in 3D…however say that 25% of the population is just not “gettin’ it”…that is gonna make us the developers have to work extra hard because we have to write essentially two versions of the app.
You thought the browser wars were bad…imagine coding for 2D and 3D!
Nature of the beast I guess…