Freedesktop.org on KDE/Gnome, New Goals
fdo writes "OSNews has a long and juicy interview with the freedesktop.org developers regarding many aspects of their project, including interoperability between GNOME/KDE, the new X Server, the new Hardware Abstraction Layer library, accessibility, package management and in general, all things desktop."
WOW! Linux enters the late eighties!
The problem with current user interfaces is that they require arcane, computer-esque input devices. Give me UI that I can control by sucking on breasts, and then I'll be impressed.
Not to mention thoroughly freaked out.
Computers are useless: they can only give you answers. -- Pablo Picasso
Finally an excuse for even the most die-hard "oh no, I don't play games" programmer to go and get a decent graphics card, and not to use a Matrox G500 because it does 2 screens best
Simon
Physicists get Hadrons!
It's all very well thinking of the technical considerations (and there's quite a lot to consider), but don't forget to consider users and the usability of the desktop. Why do people use Microsoft products? because they're either forced to (at work) or they they find them easy to use (at home). Microsoft spends a lot of time ensuring their products are very usable and open source desktops need to do the same. Usability labs, heuristic evaluation etc.. all should be used (yes I am studying HCI before you ask).
I don't know if GTK or KDE are too complex but these names sure are:
Rayiner Hashem, Havoc Pennington, Eugenia Loli-QueruWhat ever happen to Dick and Jane?
an ill wind that blows no good
Windows fanboy: "When will Linux look and behave exactly like WindowsXP and therefore be ready for the desktop?"
Linux fanboy: "When will the Longhorn fake-commandline-console look and behave like bash and therefore be ready for serious work?"
Well, the implicaction of the effort of these guys probably means that there will be two competing X11 servers, very analogous to the Linux distributions versus the *BSDs.
If the thing was designed properly, integration wouldn't be much of an issue.
Most of a 'desktop environment' important details are underneath, not the pretty GUI. ( though the importance of having a CONSISTANT GUI shouldn't be dismissed. )
They should have had mechanisms in place from DAY ONE for shared information and intercommunications.. not something that was seemingly tacked-on later.. Integration of the desktop must be done on the fonctionnality level, not on the software level.
KDE is much closer to this, as they PLANNED ahead, and didn't just wing-it since it was 'pretty'. See here for example.
The problem with GNOME is that they use GTK+ object-oriented style, but don't borrow the most important aspect of (early, anyhow) GTK... cleanliness and simplicity! Without that, the GTK-inspired GNOME macro, er object, system is COMPLETELY INCOHERENT and to put it completely blunt: SHIT.
Not to mention the fact that the numerous API libraries do not work well together and stability will _never_ be achieved since one package will _always_ depend on something that is considered beta or unstable.
Don't even get me started on the various ad-hoc configuration mechanisms and the nightmare that is CORBA and Bonobo.
Sorry to sound harsh, but it was a complaint of mine from day one of GNOME, it just wasn't professional.. They worried more about a smelly foot in the menu then making it solid and consistent.. Now they are finding out the price to be paid if they want to stick around and be more then a cute plaything...
But I'm not really sure what to think of it, honestly. That they'd have to involve money to have things that SHOULD be simple get done.
I can hardly wait for the next Freedesktop.org article FreeDesktop.org updates web pages, which by my calculations is due in about 3.4 hours.
But maybe I'm wrong. Maybe it will be:
FreeDesktop.org dreams about a better future (code release TBD)
FreeDesktop.org builds a better X (code release TBD)
FreeDesktop.org builds a better desktop (code release TBA)
FreeDesktop.org builds a better menu (code release TBD)
The "joystick" input device was supposed to attract hordes of females into the field of computing.
Am I on the right website?
CB
free ipod and free gmail!
becoming an "umbrella" project for
all projects that require communication
I think this hits the nail on the head--
developers *do* need an umbrella here,
one group to push apps toward one goal.
Simple examples are needing copy and paste,
drag and drop, and consistent mime types,
all so apps can coordinate data content.
Havoc points this out, and I hope his team
can push hard for these kinds of consistency.
Cheers, Joel
POSIX rocks. It does in 130 API calls what Win32 does in hundreds more. Its actually one of the most sanely designed "standards" ever implemented. The only decent API Microsoft has ever designed was DirectX, and even that was just mediocre as far as these things go.
A deep unwavering belief is a sure sign you're missing something...
My predication is that we will be spending the next 15 years reconciling this fundamental misstep.
Why do people use Microsoft products? because they're either forced to (at work) or they they find them easy to use (at home)
a) It came with their computer
b) It's "free" since it came with their computer
c) They don't know anything else
d) They are industry standards
e) They're the same as at work (familiarity)
f) They've had basic Windows training at work
g) Your poweruser friends likely know more Windows
h) It runs off-the-shelf software
i) It's inherently badly designed security-wise (security vs usability)
Pick any of the above, and I swear it's more of a reason than "easy to use". I bet 99%+ have never tried using a preinstalled, well configured Linux system (like the Windows install that came on their PC) at all. Without knowing the alternative, they have no basis to know that Windows is easier - they just assume so.
Kjella
Live today, because you never know what tomorrow brings
The biggest problem I see for desktop interoperability is the fact that there are so many GUI toolkits, and there's a huge overhead to keep them all loaded. IMHO as a Gnome user, having to run a QT app is an embarassment - takes way too long to load the QT libraries an initialize the GUI for even a small window. Of course I could keep the libraries loaded, but that's a ton of memory wasted. I'd imagine the same is true for KDE users trying to load GTK2/+ apps. This applies to loading Mozilla and OpenOffice.org as well. OOo especially runs like a cow in the mud - I can't even pay attention to the impressive feature set since it's so unresponsive. I always end up shutting it down and going with Abiword instead.
There's one good thing about MS Windows GUI; it's very responsive. That's because everything uses the same widget set that is kept in memory with little extra overhead. The fact that it runs in Kernel mode doesn't hurt it, but Linux's improved job control should balance that out. Using Linux with a unified widget set, like GTK2, is very responsive. Adding others, like QT, motif, swing, XPT (mozilla), and whatever Sun crap OOo uses, makes it very much less so.
I know nobody would agree with any proposal to scrap QT and port everything to GTK2, or the reverse. What I'd like to see instead is a library similar to wxWindows, or maybe an across-the-board improvement of wxWindows. Port QT and motif to it, add bindings for everybody's favorite language, etc. You could even use translation libraries to ease the transition process. That way you could compile Gaim for QT, Mozilla for motif, Konqueror for GTK, and everything in between. Only one GUI library would need to be loaded and everyone could use their favorite. It would certainly help for Windows ports as well. Thoughts?
-3Suns
~~~~
The Revolution will be Slashdotted
That expert never heard of lactation consultants.
It's not wasting time, I'm educating myself.
As often as I see stories like this and the tidal wave of resulting comments (and suggestions) it makes me a little frustrated that there is no on site that we can go to give 'Linux' feedback. I'd love to see the number 1 desktop complaint. We are absolutely brimming with comments (some I agree with, some I do not) and it seems like its all pretty wasted. We just end up rehashing our old opinions and Linux distro's keep doing what it is they think they need to do. Isn't that an unnecessary disconnect?
;-)
Give me a site with polls and commented stories! I think as a group we've at least got some interesting rants and I'd love for some of that feedback to be collected in some type of organised manner. Just imagine the flame wars!
Quack, quack.
I support a fork in Xfree86 because the regime that controls it has dropped the ball. There are many improvements that need to be made that have thusfar been prevented. At the same time I am very afraid that many of the things that were great about X will be lost in all of the commotion.
My greatest fear is that network transpancy will be lost because because everybody just wants to make X render faster on local hardware. Network transparency is what made X really great in the first place; without that, any replacement is totally worthless to me.
The second thing that made traditional X great was that it did not confuse its primary job as a graphical interpreter as being the window manager and middle ware. Each piece should separate, distinct, and intermatchable just like the ISO networking layers. Otherwise jobs will become so intertangled that the stack will no longer be cleanly configurable outside of a heterogenous stack of software. This is much like the situation with GNOME and KDE vs everything else is now -- great within them selves but not operable between them. The X server has a particular job to do and its new features should not try to take over what should be down by other parts of the stack
Don't just throw out the X Resource Database. Before QT and GTK came along breaking all of X tradition, the XRD was a great tool for configuring everything to behave they way that you want it to. Since these rouge widget sets have entered the scene, a vast majority of people have forgotten about what great tools these once were. I am not totally blind that XRD could use some modification but be sure to keep it in the spirit in which these tools were originally created (idea -- maybe using a structure built on an external DB like MySQL wouldn't be out of the question.)
X may be a very old technology like the first poster stated. Like unix tradition many things were very well thought out when it was created. All to often people are throwing away years of hard thought unix design for the latest fad with not even the faintest thought as to what they might be throwing away. No unix does not walk and talk just like the newer fancer interfaces of today -- there are good reasons for this. Some of these new wiper snappers are turning about and starting to do things the old fashion way because they found out that they were not so bad in the first place. Many of the things which at first seem archaic are actually built on much better paradigms then the newest fads. Advances in technology should be made in consideration of what was done before them. They should extend and enhance what has been done. They should not just throw everything out the window calling it old.
There are many things that need to be revamp in a new X server but please keep the good things in along with all of the improvements.
This is SO much better than anything I've seen in a long time on OSNews. After seeing "review" after review of what writers do and don't like about every distribution its really nice to see something on such a wide variety of important topics. It's also nice because its just not one person droning on subjectively. Really a nice article and doesn't make me think the site should have been named OSOpinions.com. More factual technology articles and less opinionated ones are the way to go.
If you wanna get rich, you know that payback is a bitch
OK, that's it then. XFree86 is dying.
My beliefs do not require that you agree with them.
Havoc says "When you add drag and drop to an application you have a list of types that you support dragging or dropping, such as "text/plain". Applications simply don't agree on what these types are. So we need a registry of types documenting the type name and the format of the data transferred under that name."
x .html) Why reinvent that particular wheel? Most every system has a file 'mime.types' describing some portion of the IANA media types registry.
Isn't this what the IANA media types registry is for? (http://www.iana.org/assignments/media-types/inde
One big problem with POSIX is the naming of functions. They aren't descriptive at all.
What does clone() do? It creates a new thread, which is not obvious at all.
connect() connects a socket, which isn't too bad a name. But the problem is the name gives no indication of what you're connecting. You'd only know you're connecting a socket and not say a pipe by looking it up.
This becomes a problem when you're trying to learn how to do something new. You can't easily figure out what functions you need to do a task.
Things would be much simplier with function names like SocketCreate, SocketConnect, etc. You would at least be able to search for function names beginning with Socket to find what you need. Win32 at least comes close to this goal with names like ReadFile, WriteFile, etc. Too bad the help viewer in Visual Studio doesn't support regexp searches on the index.
Look at the word processors before Word
And do you know who made Word a decent-looking program?
Apple
The first GUI version of Microsoft Word was developed according to Macintosh user interface guidelines. After seeing how well that worked, Microsoft ported it to the IBM-compatible platform.
I did DirectX and OpenGL graphics programming over a period of two years. I'm by no means a Win32 expert, but I know enough to know it sucks. And now I get to do UNIX programming for work, so I know POSIX. But concrete examples:
- DirectDraw is more complicated than SDL for simple things. Let's go through how to make a double-buffered surface that you can directly draw to.
In SDL:
- Call the SDL init function
- Set the video mode
- Lock the primary surface and draw!
In DirectDraw:
- Create the DirectDraw COM object
- Set the cooperative level
- Set the video mode
- Create a primary surface
- Create a secondary surface attached to the primary surface
- Now lock the primary surface and draw...
Not only does the DirectDraw model have twice as many steps, but each DirectDraw call has many more parameters (many of them optional) and has the annoying Win32-ism of requiring you to fill out large structures full of extra parameters to pass to each call. All in all, the code for the DirectDraw version is four or five times longer. Some of this stuff isn't just boiler-plate. In particular, many calls require five or ten lines of setup code before hand to fill out structures that are passed as parameters. Of course, DirectX is very powerful. For example, you can render Direct3D graphics to arbitrary DirectDraw surfaces (like p-buffers in GLX). Last time I used SDL, you couldn't do this with SDL surfaces and OpenGL. SDL also lacks anything comparable to DirectMusic, and SDL Input doesn't have the sheer flexibility of DirectInput.
As for Win32 vs POSIX:
- Hungarian notation, hungarion notation, hungarian notation.
- Parameters, parameters everwhere! The most complex POSIX calls have half a dozen parameters. The most complex Win32 calls have nearly a dozen direct parameters, plus dozens more parameters passed via structures.
- Win32 uses different functions for related things. In POSIX, mmap() can do everything from map a file to map graphics memory. In Win32, you have seperate APIs for that.
- What POSIX does with one function, Win32 will usually use three or four. Compare {CreateFileMapping, OpenFileMapping, MapViewOfFileEx, UnmapViewOfFile, FlushViewOfFile, CloseHandle} to {mmap(), munmap()}
- Featuritis. Win32 tries to do too much in each call. The WinNT security model is a pain to program. Overall, most of the APIs hare *highly* over-designed.
A deep unwavering belief is a sure sign you're missing something...
Wow! People are moderating this down. It's as if they don't know. Maybe those of you who can't remember the 80s are ignorant of this, so I'll spell it out for the youngsters:
This story was well-known at the time; all the big PC magazines covered it. I guess nobody will believe me now... it was too long ago to be reported on the web. And if I can't provide a link, it must mean I'm lying!
- Parameters, parameters everwhere! The most complex POSIX calls have half a dozen parameters. The most complex Win32 calls have nearly a dozen direct parameters, plus dozens more parameters passed via structures.
And don't forget how for every complex Win32 call, there's a nearly-identical function taking 4 fewer arguments and missing "Ex" from the end of its name.