Stormy Peters joins the GNOME Foundation as Executive Director
Posted by: Anonymous
[ip: 84.202.13.64]
on July 07, 2008 06:41 PM
Hello and welcome on-board Stormy Peters !
What is your answer to these important questions?
How can the GNOME-desktop renew and keep pace with KDE 4, Apple and the future? How will GNOME evolve? Do you have a plan for that?
-
My contribution is this:
0) Now-a-days most computing devices (computers, cellular phones, PDAs,...) have advanced, accelerated graphics, so make advanced graphics an ordinary thing, not an an exception as it is today (compare XLib/XCB vs. OpenGL programming).
--------------
1) Designe a new multiplatform GUI-toolkit.
GTK2 toolkit is history. We want a new, graphically empowered toolkit and desktop that is inherently 3D aware. Ordinary graphic cards are pretty powerful so let the GUI-toolkit make use of them.
An example: The window/canvas/panel can offer 2 types og graphic contexts; For 2 dimensional drawing, write
gc2D=new graphicContexct2D(win)
gc3D.moveTo(0,0).lineTo(x,y)
for 3D drawing on the same canvas, write
gc3D=new graphicContexct3D(win)
gc3D.moveTo(10.0,10.0,10.0).lineTo(x,y,z)
There will be only ONE toolkit for both 2D and 3D programming.
Rectangle (square) is not a normality of a toolkit anymore. Now the normality is a shape of any form and size, 2D or 3D. Embrace shapes.
Program the basic library in C but provide GUI-libraries in both C and C++. Bindings to dynamic languages will emerge as usual.
--------------
2) Zoom the content of an application window.
Give the window and toolkit ability to resize its content; resize labels, text, edit fields, images etc, just like Firefox does when you press the CNTR +/- keys.
Users with poor sight will love it and people who like small fonts can make application windows smaller and gain more space on the scene.
Let the window and GUI-gadgets remember their scale.
--------------
3) The Gallium 3D is the way to go.
Gallium 3D will replace the old Mesa/OpenGL library. Gallium will have a software fallback (with LLVM/gcc JIT) when the hardware does not have support for graphic command.
Study: http://en.wikipedia.org/wiki/Gallium_3D
Keep the toolkit stack thin. WxWidgets is an example of a fat toolkit. It has: Graphics hardware(the X11 server) -> XLib/XCB -> Xt toolkit -> GTK -> wxWidgets. What the heck is that?
Instead keep it simple. Like this
Graphics hardware -> Gallium 2D/3D layer -> Device independent layer -> NEWT toolkit.
But not not kill the X11 entirely. The network transparency of X is a damn good feature, but by all means; re-think it.
Include multi-pointer functionality (google for MPX) and new collaborative features such as Teacher - Students mode where many users can follow the same display. Teacher deals out invitations to follow-on session.
--------------
4) The desktop.
Your desktop is "a stage" or "a scene" where you do your work and collaborate with other users.
But choose your graphical theme carefully.
If you run a computer with weak graphics card then choose a 2D scene theme [it's basically an ordinary flat Metacity based GNOME-desktop]. Choose more advanced 3D-room (scene) if you have a stronger GPU. You just switch the theme stupid. That's it !
Theme for a scene:
The scene themes decides the desktop structure, number of virtual desktops and their appearance and panels. Some areas of the scene can be "magnetic" where windows can attach.
The scene can look like a a cube (such as Compiz does), it can be a wired box or sphere. A flat 2D theme for weak computers. A "scene designer" is a CAD alike tool to make new scenes and themes.
A toolkit theme:
Appearance of the GUI components; buttons, edit fields, group boxes etc.
--------------
5) Save your scene
You shall be able to save your desktop scene to an external server (make a kind of backup). Then pump it back on another location. Save not only the scene arrangement, but also work files ($HOME) if you so wish.
Let users test different graphical themes and see the result instantly.
--------------
6) More co-operation between the Linux-kernel and the graphics system so the desktop-startup is quicker and simpler (fewer changes of mode during startup).
--------------
Stormy Peters joins the GNOME Foundation as Executive Director
Posted by: Anonymous [ip: 84.202.13.64] on July 07, 2008 06:41 PMWhat is your answer to these important questions?
How can the GNOME-desktop renew and keep pace with KDE 4, Apple and the future? How will GNOME evolve? Do you have a plan for that?
-
My contribution is this:
0) Now-a-days most computing devices (computers, cellular phones, PDAs,...) have advanced, accelerated graphics, so make advanced graphics an ordinary thing, not an an exception as it is today (compare XLib/XCB vs. OpenGL programming).
--------------
1) Designe a new multiplatform GUI-toolkit.
GTK2 toolkit is history. We want a new, graphically empowered toolkit and desktop that is inherently 3D aware. Ordinary graphic cards are pretty powerful so let the GUI-toolkit make use of them.
An example: The window/canvas/panel can offer 2 types og graphic contexts; For 2 dimensional drawing, write
gc2D=new graphicContexct2D(win)
gc3D.moveTo(0,0).lineTo(x,y)
for 3D drawing on the same canvas, write
gc3D=new graphicContexct3D(win)
gc3D.moveTo(10.0,10.0,10.0).lineTo(x,y,z)
There will be only ONE toolkit for both 2D and 3D programming.
Rectangle (square) is not a normality of a toolkit anymore. Now the normality is a shape of any form and size, 2D or 3D. Embrace shapes.
Program the basic library in C but provide GUI-libraries in both C and C++. Bindings to dynamic languages will emerge as usual.
--------------
2) Zoom the content of an application window.
Give the window and toolkit ability to resize its content; resize labels, text, edit fields, images etc, just like Firefox does when you press the CNTR +/- keys.
Users with poor sight will love it and people who like small fonts can make application windows smaller and gain more space on the scene.
Let the window and GUI-gadgets remember their scale.
--------------
3) The Gallium 3D is the way to go.
Gallium 3D will replace the old Mesa/OpenGL library. Gallium will have a software fallback (with LLVM/gcc JIT) when the hardware does not have support for graphic command.
Study: http://en.wikipedia.org/wiki/Gallium_3D
Keep the toolkit stack thin. WxWidgets is an example of a fat toolkit. It has: Graphics hardware(the X11 server) -> XLib/XCB -> Xt toolkit -> GTK -> wxWidgets. What the heck is that?
Instead keep it simple. Like this
Graphics hardware -> Gallium 2D/3D layer -> Device independent layer -> NEWT toolkit.
But not not kill the X11 entirely. The network transparency of X is a damn good feature, but by all means; re-think it.
Include multi-pointer functionality (google for MPX) and new collaborative features such as Teacher - Students mode where many users can follow the same display. Teacher deals out invitations to follow-on session.
--------------
4) The desktop.
Your desktop is "a stage" or "a scene" where you do your work and collaborate with other users.
But choose your graphical theme carefully.
If you run a computer with weak graphics card then choose a 2D scene theme [it's basically an ordinary flat Metacity based GNOME-desktop]. Choose more advanced 3D-room (scene) if you have a stronger GPU. You just switch the theme stupid. That's it !
Theme for a scene:
The scene themes decides the desktop structure, number of virtual desktops and their appearance and panels. Some areas of the scene can be "magnetic" where windows can attach.
The scene can look like a a cube (such as Compiz does), it can be a wired box or sphere. A flat 2D theme for weak computers. A "scene designer" is a CAD alike tool to make new scenes and themes.
A toolkit theme:
Appearance of the GUI components; buttons, edit fields, group boxes etc.
--------------
5) Save your scene
You shall be able to save your desktop scene to an external server (make a kind of backup). Then pump it back on another location. Save not only the scene arrangement, but also work files ($HOME) if you so wish.
Let users test different graphical themes and see the result instantly.
--------------
6) More co-operation between the Linux-kernel and the graphics system so the desktop-startup is quicker and simpler (fewer changes of mode during startup).
--------------
Take a look at the Clutter and Pigment toolkits.
Important contributions to the GTK 3 debate:
http://live.gnome.org/ThreePointZero (-> scratchpad )
+
http://arstechnica.com/articles/culture/reinventing-gtk.ars
+
http://www.jonobacon.org/?cat=9
+
http://eugenia.gnomefiles.org/2008/06/17/regarding-gnome-30/
+
http://jrfonseca.blogspot.com/2008/04/gallium3d-introduction.html
Greetings
Alex Botero ;-)
Sorry for my englsih.
#