Re: Can we make Linux Desktop Enviroment beyond the Desktop Metaphor?
- From: Benjamin <bicespring@xxxxxxxxx>
- Date: Sun, 10 Feb 2008 01:44:23 -0800 (PST)
On 1月24日, 下午4时18分, Benjamin <bicespr...@xxxxxxxxx> wrote:
On 1月20日, 下午5时07分, George Peter Staplin
Can we make Linux Desktop Enviroment beyond the Desktop Metaphor?
Should Linux Desktop Enviroment (e.g.KDE,Gnome,CDE)look like Microsoft
Windows or Mac OSX ?
I imagine Linux Desktop Enviroment to have some features different
from current OS desktop, I think Linux can do better in Desktop OS
1, Everything on the desktop is applet, also is document and device,
but is not application;
2, As everything starts from the root directory in Linux, everything
starts from the desktop. In other words,"desktop" is root directory,
all your data stored here;
3, Usually, other components of the environment, including the
removable disk or local device, can be reached from the desktop
4, Never need to open or close a window, the applets run on desktop
starts, documents always opened on the desktop;
5, Muti-touch and Zoomable desktop. Zooming infinitely by your
finger,so you have an infinite flat surface/desktop;
6, Without Windows-like concept on this desktop, such as Startmenu,
Taskbar, system tray ,My Computer, Shortcut,Folder,etc.
7, Use "object" metaphor replace "file/icon"metaphor;
8, While you're writting in a text-editor(applet), the data saved
automatically; user wouldn't asked to save it with a filename, but
they can tag it with any words;
9, Just drag and drop to arrange/organize your document and applet on
desktop by pile and stack;
10, The applets or documents show its thumbnail while it minimized.
Do you have any suggestion?
It sounds almost like Squeak (a Smalltalk implementation) or Microsoft's
Bob. You might want to look into Squeak. Microsoft's Bob was supposed
to take over the world, but by and large failed. There have also been
other implementations of similar things. I think Smalltalk was really
where this set of ideas started, so you should investigate Squeak.
Personally, I'm not impressed by most ZUI anymore.
I think that having a unified desktop where most things are built from
the same basic primitives in a dynamic language is a good thing. The
problem is that most current applications aren't built using such a
layer. So for example in my window system that I've been developing the
last 3 years I've had to rely on some older tools, and I've been
developing an X server that enables running some X apps. Unfortunately
I'm about ready to can the whole project, and start over, and your
message reminds me of what I'm missing to some extent.
I just took a basic framebuffer, constructed a tree of windows in C (the
COOP language actually, but it generates C), and each window struct has
2 buffers. One is a shared memory buffer, that is shared with each
application process via mmap and a specific file system path for each
window, and the other is the buffer to composite with the framebuffer.
I also added window rotation. So everytime the client sends a request
over a socket to update the application's display, the bytes get copied,
rotated if needed, and composited. Most rendering occurs in the
application, such as text rendering, or line drawing. The window system
doesn't even have such primitives built in.
I suppose my disappointment is at an architectural level. I originally
had mmap shared window buffers for every window in the tree, and then I
came to realize after building a grid geometry manager, that it was too
slow, with shared memory and the resizing of subwindows. So now each
client toplevel gets a single shared memory buffer, and subwindows are
composited and allocated with malloc.
Microsoft's Bob have proven poor metaphor as desktop, no because its
interface, but because the limitations of its metaphor behind the
interface. It cannot enhance people's ability(such as imagination and
creativity)neither work nor entertainment.
Squeak reach those goals to some extent, but it wasn't endowed with
humanized interface to ordinary users,it was rather suited to the GUI
developer as IDE.
Here is introduction of ZUI:http://en.wikipedia.org/wiki/Zooming_user_interface
In order for you to understand the featuers that I have mentioned,
here is my mockup by Flash:http://ixdea.googlegroups.com/web/sliding%27n%27zooming%20desktop.swf...http://ixdea.googlegroups.com/web/launch%27n%27close%20apps.swf?gda=q...
Maybe the title is misleading, anyway, here is UserInterface that I
described.- 隐藏被引用文字 -
- 显示引用的文字 -
Update feature : "floating'n'docking the object on your desktop"
(mockup by flash)
You can lock the position of object (e.g. clock) on desktop ,when you
"sliding/moving" the desktop,
the position of object would not to be changed , it seems to float
above the desktop.