views:

129

answers:

4

I have an idea for a new desktop environment that involves a radically different user interface than existing ones, and I want to begin prototyping it. However, I don't want to go through all the trouble of building it from scratch just for the prototype, so I want to build it on top of an existing desktop environment so I can have immediate access to all the data and functionality of the existing one to build on.

What platform would be best to start building on?

For example, I was thinking of building it in Xcode as a full-screen app, and simulating the way it would manipulate media on the computer by using the iTunes API to select and perform actions on the user's media. (Basically, emulating the OS as a full-screen Cocoa app, and using iTunes as the media engine to simulate user interaction with media, for starters.)

This might not be the best way to go about this (since I don't know how I would simulate running applications and windows, animations might be difficult to do in Objective-C, etc), so are there any ideas out there on how to simulate this desktop environment better?

Edit: The focus is on how the user interacts and commands the computer, so it's all in the human-computer language and interaction, meaning the programming and code is what's most relevant.

+1  A: 

If the user interface is what you want to be different you might want to reconsider building a whole operating system. Look at the Linux ecosystem -- the base operating system is different from the windowing system -- you can have linux with Gnome, KDE, etc

If i were you i would look at taking this approach.

Conrad
I aim to do that eventually, but I want to just prototype something quickly to get my ideas out on code. Starting off by building the whole operating system would fill my mind with memory management, threading, etc when I should really be focusing on the UI.
Chetan
+2  A: 

You want a prototype to show how Desktop Environment looks like and you want people to interact with it. You need a designing tool more then a programming IDE.

So Adobe Flash might be the best choice, you can draw anything flash and with some little action script you can do lot of interactions: play videos, open files etc...

Numenor
That seems like a good choice for a prototype, though not too good of a choice for the finished product.
RCIX
+1  A: 

I personally would go for Linux with Qt. Not only is Qt portable (you can develop and test parts on your Mac) but is also a fairly high-level API, it can be themed to provide polish and KDE is build on top of that so you have ready-made examples. It also has great documentation.

What's more, it provides explicit hooks to create a desktop environment. No need to brew you own bindings and dive too deeply into X.

It also has a very good visual GUI builder for rapidly creating parts of your GUI, and a natural way to send/receive signals between components in an application. You might want to use dbus for inter-process communication.

extraneon
A: 

I think you can take as the base one of open source DEs for Linux
One you'll find easy enough to start from