3D GUI idea

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

3D GUI idea

Post by AndrewAPrice »

I have a concept for a 3D GUI. Though I would love to have this in my OS, it requires 3D accelleration so at this point in time it seems more suitable as a Windows or Linux shell.

It's a single-tasking shell (so you're only doing on thing at once, though built on top of a multi-tasking system so servers and background programs and the like are still running) and it's targeted at entertainment/gaming machines rather than a workplace/business machine (where WIMP and CLIs are still the most productive interfaces).

My idea is that your operating system's environment in a 3D city. The way it works is that when a program installs, the city allocates it a 'lot', which is basically a 2D patch of ground of a specified shape/area. The shell will find a place to fit this plot, or grow a road out if it can not be fit in.

On this plot of land, there is an API exposed, where the program (not the entire program, more like a low over-head loader that is ran once to cache the geometry of the plot into memory so it can be rendered, the actual program is launched when you enter the plot). This API effectively allows program to construct 3D geometry onto the plot of land. For example, a media player would construct a movie theatre, a go-cart would construct a warehouse that looks like it may hold an indoor go-cart track, a file manager will construct a high-rise office building.

When you walk onto a lot, the loader launches (which should be small and load fast) which can stream a much larger program if it'd like. The exposed API will allow you to interact with the geometry and user (move it with custom physics, show a dialogue for interfacing with NPCs, access input, etc).

There are other things the program can do, for example it can render to a texture in the 3D world (for example, render your movie onto in a cinema, and in the program's code it specifies that if you press a button the camera lines up so the cinema screen is covers your entire monitor so you can enjoy a movie).

You can also have a portal (effectively a wrapper around a texture you render to, with a helper API to make a seamless transition in/out of the portal) and on the other side of the portal the code have full control over exactly how things are rendered. For example, a file manager may look like a large skyscraper that exists as 3D geometry in the city from outside, but when you walk inside you unknowingly went through a portal and the file manger is in direct control of all rendering (so for example, inside there could be 1000s of corridors representing directories that doesn't align to the size of the building outside).

Another example of a portal is you go into a Go-Kart building representing a Go-Kart game. Once inside the warehouse, you're connected to a server so you can see other users walking around (perhaps have some global Avatar) that you can chat to. You could walk to the track when you're ready to race and get into a Go-Kart, then in front of you, the track leads into a dark tunnel with a gate closed. A timer counts down (which is the game loading in the background) and once the track is loaded the tunnel opens and you seamlessly drive out into a large open track (which actually exists in the program and not the city).

Other ideas of lots for representing programs in the city are:
- An E-bay auction house where you can explore listings in 3D, with different floors being different categories.
- A post office for e-mailing.
- A Paypal bank.
- Military barracks for a first person shooter game.

Perhaps a web browser someway. But, I would encourage each website that wants to have their own building that could be downloaded and placed in to the city.

Once the city grows quite large, there will be a above ground train or underground subway for transporting around. As for servers and drivers, I was thinking for them existing underground, each server/driver having a plot of land that you can interact with. For example, to change your network settings you have to go into the core of the city and there will be data cabling infrastructure, and you interact with an NPC - the possibilities are endless. Perhaps the task manager can exist as the form of a police station or city council (to kill any background servers/drivers).

I was also thinking, rather than just having one of each program, for example a file manager or movie player, there would exist several different themes (or anyone can write their own) so a person can personalize their city however they want. You'd also need at least one building representing a package manager in the city so you can install/uninstall other programs.

I was also thinking of extending this idea so you could log on to someone else's computer and interact with their city (though certain rooms in the file manager, as well as underground access to the servers, would be locked).
My OS is Perception.
manonthemoon
Member
Member
Posts: 65
Joined: Sat Jul 04, 2009 9:39 pm

Re: 3D GUI idea

Post by manonthemoon »

It sounds like a unique and interesting idea. If I may offer some constructive criticism (is that what you're looking for?):
  • What if there is a program that doesn't work with your system? How would it appear in the city?
  • It sounds complicated. What happens when the "coolness" wears off and the user just wants to run a gosh-darned program without wandering through a city and waiting for all the fancy graphics to load?
It reminds me of some online game thing (I can't remember the name) where the different games were divided into "lands" and "cities" based on their genre.

EDIT: I remember now: it's kinda like ImagiNation Network. See this: http://www.youtube.com/watch?v=O-RvRfmTidk&NR=1
JohnnyTheDon
Member
Member
Posts: 524
Joined: Sun Nov 09, 2008 2:55 am
Location: Pennsylvania, USA

Re: 3D GUI idea

Post by JohnnyTheDon »

manonthemoon wrote: It reminds me of some online game thing (I can't remember the name) where the different games were divided into "lands" and "cities" based on their genre.
Second Life maybe?

Providing interesting and entertaining metaphors for otherwise mundane tasks is a great idea. I think we are finally reaching the point where the virtual realities expressed in books like Snow Crash and the Net Force series are becoming almost feasible. As far as productivity is concerned, I won't be writing code in it, but moving down a virtual street to a movie theater when I want to watch a DVD would be awesome. It would be even more fun if there was a mod that placed an evil ninja army bent on killing me all over the streets.

The next step is, of course, a virtual reality getup that lets you actually walk in the city :)
whowhatwhere
Member
Member
Posts: 199
Joined: Sat Jun 28, 2008 6:44 pm

Re: 3D GUI idea

Post by whowhatwhere »

JohnnyTheDon wrote:
manonthemoon wrote: It reminds me of some online game thing (I can't remember the name) where the different games were divided into "lands" and "cities" based on their genre.
Second Life maybe?

Providing interesting and entertaining metaphors for otherwise mundane tasks is a great idea. I think we are finally reaching the point where the virtual realities expressed in books like Snow Crash and the Net Force series are becoming almost feasible. As far as productivity is concerned, I won't be writing code in it, but moving down a virtual street to a movie theater when I want to watch a DVD would be awesome. It would be even more fun if there was a mod that placed an evil ninja army bent on killing me all over the streets.

The next step is, of course, a virtual reality getup that lets you actually walk in the city :)

Or, better yet, one could actually get up and go visit the theatre with real people. 8)
JohnnyTheDon
Member
Member
Posts: 524
Joined: Sun Nov 09, 2008 2:55 am
Location: Pennsylvania, USA

Re: 3D GUI idea

Post by JohnnyTheDon »

syntropy wrote:
JohnnyTheDon wrote:
manonthemoon wrote: It reminds me of some online game thing (I can't remember the name) where the different games were divided into "lands" and "cities" based on their genre.
Second Life maybe?

Providing interesting and entertaining metaphors for otherwise mundane tasks is a great idea. I think we are finally reaching the point where the virtual realities expressed in books like Snow Crash and the Net Force series are becoming almost feasible. As far as productivity is concerned, I won't be writing code in it, but moving down a virtual street to a movie theater when I want to watch a DVD would be awesome. It would be even more fun if there was a mod that placed an evil ninja army bent on killing me all over the streets.

The next step is, of course, a virtual reality getup that lets you actually walk in the city :)

Or, better yet, one could actually get up and go visit the theatre with real people. 8)
That sounds dangerous :shock:
pcmattman
Member
Member
Posts: 2566
Joined: Sun Jan 14, 2007 9:15 pm
Libera.chat IRC: miselin
Location: Sydney, Australia (I come from a land down under!)
Contact:

Re: 3D GUI idea

Post by pcmattman »

I have a concept for a 3D GUI.
I love it. I'd love to see a small prototype, just to play with the idea.

I just have one small thing I have to ask: What about those of us who listen to music while we're doing things? I can't just pick up the theatre and take it everywhere in my pocket :)

EDIT:
You'd also need at least one building representing a package manager in the city so you can install/uninstall other programs.
Ala the Citadel in the HL2 games (I guess that'd be a HL2 "theme")... That'd be awesome.
User avatar
xDDunce
Member
Member
Posts: 173
Joined: Tue Aug 12, 2008 4:04 pm
Contact:

Re: 3D GUI idea

Post by xDDunce »

This sounds great. I can see this looking a lot like the internet in Futurama.... green matrix-ish setup and the laser tag game and everything....

If anyone ever gets started on making something like this, I would love to help out!

Cheers,
James.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: 3D GUI idea

Post by Troy Martin »

pcmattman wrote:Ala the Citadel in the HL2 games (I guess that'd be a HL2 "theme")... That'd be awesome.
And when you start selecting generally disallowed packages (such as non-free ones on linux) it starts forming into the Citadel as it is at the end of HL2E1 with all the swirling crap above it and the transmission flying up and out through the rift in the sky :)
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: 3D GUI idea

Post by Brynet-Inc »

How delightfully original.. let's make a 3D single-tasking graphical user environment.. oh wait.

We all know it's a secondary hobby of yours.. but no matter how you disguise it, a video game will always be a video game.

Next brilliant idea in 3.. 2.. 1.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
linuxfood
Member
Member
Posts: 38
Joined: Wed Dec 31, 2008 12:22 am

Re: 3D GUI idea

Post by linuxfood »

Hmm....

Kinda like in Jurassic Park?

http://www.dailymotion.com/video/x4tbis ... scene_tech

Seriously, that's the first thing I thought of when I started reading.

Classic. "It's a UNIX system! I know this!".

EDIT: Fixed my misquote.
Last edited by linuxfood on Sun Aug 30, 2009 6:37 pm, edited 1 time in total.
pcmattman
Member
Member
Posts: 2566
Joined: Sun Jan 14, 2007 9:15 pm
Libera.chat IRC: miselin
Location: Sydney, Australia (I come from a land down under!)
Contact:

Re: 3D GUI idea

Post by pcmattman »

"I know this, it's UNIX!".
FSN.
User avatar
linuxfood
Member
Member
Posts: 38
Joined: Wed Dec 31, 2008 12:22 am

Re: 3D GUI idea

Post by linuxfood »

@pcmattman: I've even played with the open source version. Jurassic park was still the first thing that came to mind, though.

EDIT: Edit fail.
pcmattman
Member
Member
Posts: 2566
Joined: Sun Jan 14, 2007 9:15 pm
Libera.chat IRC: miselin
Location: Sydney, Australia (I come from a land down under!)
Contact:

Re: 3D GUI idea

Post by pcmattman »

What I mean is, that quote is often used in contexts which point out the fact that Hollywood has no idea what they're talking about, when in fact the software used does run on a UNIX system, AFAICT :)
User avatar
ClarionCoder51
Member
Member
Posts: 28
Joined: Sun Aug 16, 2009 11:52 am
Location: Georgia, USA

Re: 3D GUI idea

Post by ClarionCoder51 »

It kinda sounds like a 3D remake of Microsoft BOB. I love it!!
"The n00b zone is for loading and unloading newbies only."
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Re: 3D GUI idea

Post by ~ »

It should be perfectly possible to write a GUI manager using DirectX/OpenGL, programming all of the window handling functions and renderings, and make programs designed to use it.

Also, if there was some way to still allow normal programs to be handled through the default window manager, and have them draw their windows in a back buffer and still being able to handle the standard controls of that application having the DirectX GUI respond to the windows' requests, then it could be done.

Or making the normal programs and the Windows GUI allow the DirectX GUI to work as an intermediate layer, so that normal programs are drawn in back buffer, the DX GUI gets told, then there are events, and the DX GUI gets told, and then this DX GUI be capable of having the messages properly dispatched, not just being able to present the normal GUI but also still provide its graphical functionality.
YouTube:
http://youtube.com/@AltComp126

My x86 emulator/kernel project and software tools/documentation:
http://master.dl.sourceforge.net/projec ... 7z?viasf=1
Post Reply