Jono Bacon has written an article on my O’Reilly Blog called The path to unified interaction which looks at the challenges of making our software work natively in the different desktop environments on Linux. Do you think this is something we should strive for, and if so, do you think it is technically possible?
i would like to see more apps built to install & run no matter what Linux distro you have (noarch)
look at mozilla, it is packaged in a .tar.gz package, same with OpenOffice, all that is needed is to decompress and open the directory containing the install files and run a script. and if there are complications for certain applications that are distro specific then maybe giving the user a way to make the installer script build the package to fit the distros needs in order to run properly…
just my $00.02
i am no developer but i can see the potental of the way these applications install in to various Linux distros, (one package fits many distros)
I truly belive that this is what we need to strive against. This is IMHO the major setback with Linux, personally i don’t care about “click’n’run” since i use Gentoo and compile every software myself. But to make Linux a better choice for everyone i think that some kind of standardisation is needed to be done.
I think it would be a great idea to “abstract” certain things out of the application. For example, why does every program come with it’s own file-save dialog? Instead, why doesn’t it talk to the users preferred file-save dialog which then tells the program where to store the file. Same for the open file dialog. I would love it if all my programs had a drag-and-drop save dialog ala ROX.
I wonder how far you could take the abstraction, though. I imagine it works great for conventional things like file-save dialogs or Continue/Cancel dialogs, maybe even context-menus, but how well would it work when you want to do unconventional things?
I think he missed the point. People don’t care that much about how applications look. Even in windows, the newest Office looks different then the rest of the platform. Same with the ‘metal’ look in OSX. What is much more important then what file dialog is used, and what color the widgets are is how the applications is layed out. This includes:
1) Common Shortcuts
2) Common Design – what labels are bold in a dialog, how buttons are set, instant apply vs. ok&cancel, etc…)
3) Naming – Is it a folder or a directory? Is it an application or a program? etc…
4) Menu layout – Although the File/Edit/…/Help manu layout considerably sucks, atleast it is pretty much common between KDE and GNOME. But where does preferences go? In the Edit menu or in the Tools menu?
5) Other behavioral issues
The behavioral issues are 10 times more important then what open dialog gets used and that the themes are shared.
<< What is much more important […] is how the application is layed out >>
this is exactly what i think too. as long as these things you point out aren’t consistent neither should the look between toolkits be.
This is the same guy who wrote the looking glass article a while back.
You could theoretically take this concept and apply it to Project Looking Glass too; a 2D representation of a button could be natively represented in Project Looking Glass as a 3D button
This will not only make all of the software more integrated, but it will put software in peoples hands in an environment that is familiar to them.
These are cool concepts to explore in a small project or lab, not on my desktop. Most people are happy using KDE, I hate it, and like being able to choose to avoid it.
There are many people out these just like me that are happy on low clutter, flat, 2D desktops built for speed.
The idea of adding 3D, rounded bevels, and whiz-bang animations to my desktop is just feature bloat, and I don’t want it near me.
Fisher Price needs go after both MS and KDE for their recent desktop themes.
in addition to this i would also like to know why “user interfaces should be monolithic and hard coded” as a gnome developer (Havoc Pennington) put it. does that not make it harder for applications to adapt to different environments and different users needs — and thus making it harder to acheive a consistent desktop?
Haven’t you seen freedesktop.org? It is an effort to unify the varios desktop environments.
> Haven’t you seen freedesktop.org? It is an effort to unify the varios desktop environments.
Freedesktop.org is NOT meant to unify the desktop environments. This is most likely not possible due the total different architectures and frameworks they use. But that Freedesktop.org offers is a place for people to try finding some agreement how new or better solutions can be done so all participant parties can benefit from it. Not everything designed and decided by the one side will be adopted by the other sides and vice verca.
Gaim is not better than Kopete, konqueror gets improvements from Apple (the khtml code does) and openoffice should be DE agnostic, since it uses its own toolkit.
KDE feels faster thatn Gnome 2.6 and uses less memory, which is ironic because KDE is written in C++. At this point, Qt is still a much better toolkit than GTK+, but I hope they’ll get it right (e.g. back to the speed of the 1.2.x days) before 3.0 comes out. And it annoys me that people like Havoc Pennington push their agenda all the time, for example pushing Epiphany which is crap instead of Galeon, or his metacity piece of junk.
@alberta and Re: Market Forces
More than likely, GNOME will become the desktop of choice for most businesses should they decide to use alternative operating systems based on the BSD or Linux kernels. Why you ask? Because the LGPL licensing of GTK, and the large corporate backing behind GNOME (Sun, Red Hat, Novell, SuSE, Ximian, and others) are a large encouragement to business users that they’ll be taken care of.
In my opinion, there must be a unified desktop before alternative operating systems can become mainstream, and I don’t believe that GNOME or KDE completely satisfy the requirements of curent user groups. Both come close, and both fall miserably short in several areas.
“And it annoys me that people like Havoc Pennington push their agenda all the time, for example pushing Epiphany which is crap instead of Galeon, or his metacity piece of junk.”
its strange to complain about HP while offering nothing better. he has rationales. if you dont accept it argue with better points
Well what the author is essentially talking about here is a lit of components. Each component is of a specific interface. The user can then set a default component for each interface.
Some pseudo code for this might look like:
save_location = Factory.getDefaultComp(intfFILEDIALOG);
and so one and so forth. This could also be hidden from the user as in JAVA. Whereby you just create the filedialog yourself, and the ‘look and feel’ adjusts the dialog appropriately.
In either case, its not a technical challenge, but one that will bash everyone’s brain in as they try to develop all the interfaces. Hopefully if they do that, it works out better than just changing the colour and the font.
The KDE and Gnome camps are way too differnet, Like someone else said, market forces will push 1 DE over the other.
ATM it looks like Gnome, considering that 2/3 of the largest commerical distros are gnome-centric and the other is a wild card.
I think the biggest issues right now with KDE are usability and the dual licensed QT toolkit. One major reason I like gtk is that I can use it freely on any plaform I want(windows,OSX).
I think the file dialog was just an example. The author also mentions: “responding to interactions in ways that are common with the host environment and respecting usability guidelines.”
Of course neither of us can know for certain what the author was thinking when he wrote this story, but I think the things he wants to have abstracted out of the applications include most of your points.
To elaborate on my previous post (not part of the reply):
I think some things would be really hard to abstract out of an application. What should trigger a context menu (eg: right-clicking or holding the left mouse button), various dialogs and where the scrollbar is would be pretty easy.
The lay-out of the program, on the other hand, would be very hard to abstract. ROX applications, for example, don’t have a menu-bar, but only a right-click context menu. So if I run one of these programs on my ROX desktop, would the menu-bar be integrated into the context-menu somehow? That could lead to rather ugly results.
Also:
How about we actually discuss the article instead of letting this degrade into another KDE vs. Gnome flamewar?
I personally think you are wrong on this point. I don’t use a DE, because of the apps available. I use a DE because it functions the way I want it to, and it has the eye candy that I like, and is configurable to how I work. KDE is the platform for me. I can run any gnome/gtk apps that I want on it, and with the gtk-qt theme flummy available on kde-look, all my kde themes are faithfully replicated on the gtk apps. Hey presto – “unity”. Which DE has the apps is irrelevant, when they all run on one platform, and have a similar, if not identical look.
However, if we’re talking about killer apps, I think digikam, kimdaba, and k3b are my killer apps. There is nothing like them in the gnome world. However, I can’t see gnome users giving up gnome just to use those apps. They’ll just use them within gnome, and I’m sure they’ll be happy.
I’m not sure why unification/gui consistency is such an issue. In the windows world, there is very little consistency between applications, either in look and feel, or operation. I’m sitting here on my Windows NT box, and of the 7 applications I have open, only the MS office applications look anything like eachother. The rest are, at best, a hotchpotch. There are a huge number of toolkits, and application/menu layouts. No-one worries about it. They just get on with it. They churn out apps, regardless of unification.
So, rather than worrying about which DE has the “killer apps”, or whether the DE’s are unified, lets just get on with making more “killer apps”. Who cares what toolkit they use.
Matt
<< I’m not sure why unification/gui consistency is such an issue >>
because low usability most likely costs enormous amounts of money (lost productivity, annoying the heck out of people, degrading the computer as a tool, etc)?
<< In the windows world, there is very little consistency between applications >>
is that so? maybe. hopefully there will come a time when there are better alternatives than ms windows though.
> I’m not sure why unification/gui consistency is such an issue. In the windows world, there is very little
> consistency between applications, either in look and feel, or operation. I’m sitting here on my
> Windows NT box, and of the 7 applications I have open, only the MS office applications look
> anything like eachother. The rest are, at best, a hotchpotch. There are a huge number of toolkits,
> and application/menu layouts. No-one worries about it. They just get on with it. They churn out apps,
> regardless of unification.
This might be true but we shouldn’t use this as justification or excuse to have the same appear on either KDE or GNOME don’t you think ? I for my own value consistency over everything else. The appearance of it’s GUI is usually a mirror of how the application beneath was programmed. A bad GUI can certainly say something about the application in general. As more different Toolkits people use as more problems will occour. This doesn’t mean that the different Toolkits are bad because everyone believes that their system is far supperior over the others and offers advantages the other doesn’t have. But this usually ends in many problems.
Hi all,
I wrote the article, and I wanted to clarify something. In the article I am not simply referring to the look of an application and it using the native desktop theme; I am on about things such as font use, file/save dialogs, usability standards, accessability, user configuration and other areas. I am basically saying that if we took the GIMP as an example, and we run it in KDE, it should use the KDE theme, use the KDE dialogs, allow for cut and paste in KDE etc.
It is great to see so many comments by the way. Cheers.
Jono
>> Gaim is not better than Kopete, konqueror gets improvements from Apple (the khtml code does) and openoffice should be DE agnostic, since it uses its own toolkit.
well openoffice is getting a big push for GNOME integration. meanwhile, KOffice has fallen far behind.
Kopete may be as good as Gaim but it gets 5% of the press. that matters.
Konq is decent but it is not as good as Mozilla and once again, gets 0.05% of the press.
sorry, unless KDE comes out with an end-user app that absolutely blows away anything on GNOME, gets good press for it, and stays out in front, KDE is on a long downward trend.
now as to why the big firms all lined up behind GNOME – likely they did not want to put TrollTech in control. regardless of the extra KDE environment on top, its Qt that drives the system and that means TrollTech drives the system. Unlikely that all of these other firms are going to assent to that.
I disagree, Mozilla is not better than Konqueror. Konq is an all-in-one browsing swiss knife, which turns out to be extremely useful.
As far as commercial distros are concerned, you conveniently ignore “home” distros such as Linspire, Lycoris, Xandros and (to a lesser extend) Mandrake, which all have KDE as their default DE… Meanwhile, SuSE still has KDE as a default, even though they bought Ximian.
Also, the “popularity” argument is kinda weak…after all, Linux only has 2.5% of the market, so why bother using it instead of Windows? Not to mention all the “big firms” behind Windows.
I’ll let you in on a little secret: it’s not only the big firms that drive Linux forward, but the users and independent developers as well.
Anyway, I really don’t think that GNOME holds more market share than KDE…in any case, they’re both very good DEs which are both evolving at a fast pace (albeit in slightly different versions). I don’t understand this obsession with only having one DE…competition is good, it drives the respective DE team to outdo themselves.
Don’t try to fix what ain’t broken…
>> Meanwhile, SuSE still has KDE as a default, even though
>> they bought Ximian.
SuSE didn’t buy Ximian, Novell did.
And you clearly haven’t seen any shots of the Novell Desktop yet.
ell openoffice is getting a big push for GNOME integration
—
so is kde
isn’t it easier to integrate GNOME and KDE into OpenOffice rather than the oposite ? 😎
“SuSE didn’t buy Ximian, Novell did.”
Right, sorry about that slip of the tongue.
“And you clearly haven’t seen any shots of the Novell Desktop yet.”
No, I haven’t, but I’d be interested to have a look. Do you have any links?
The point is that no amount of corporate push is going to get rid of either DE, just like no amount of Microsoft FUD will get rid of Linux. I think it’s better to try to coexist and work for a convergence of theme engines so we can make both desktop so visually similar that they look virtually identical.
Again, I have nothing against Gnome, I used it for about 6 months. But I find that for my personal taste, KDE is better, faster and more complete. So why would I, a Mandrake user, change even if RedHat and Novell are pushing for Gnome?
I’m not a Gnome user, (i was about 4 years ago) so a few questions for you.
How does Gnome’s CD/DVD burner program compare to “k3b” ? I can’t say i’ve read of Gnome program that tops “k3b”
Is there a GOffice package (aka KOffice) or is it still a bundle of individual apps? (mentioning OO doesn’t count as its being KDE’d as well as Gnome’d)
Should you not be comparing Nautalis to Konq and not Mozilla?
“now as to why the big firms all lined up behind GNOME” – Sun, Redhat and ? – Most others are agnostic as they have partnerships with Red Hat and Suse and Mandrake. And all the other firms like Lindows etc use KDE so i think you have your head in the sand. Big firms do make bad decisions too.
“its Qt that drives the system and that means TrollTech drives the system.” true, but KDE use the GPL version so if the KDE team wish to take it another way then they can, but why do that when some of the KDE team work for Trolltech.
“Is is “abusive” to say KDE is on the downtrend?” – that sweeping statement with no facts probably sunk your post.
Or maybe it because you are on a Gnome soapbox trying to start a flame war.
Perhaps you should do a full comparison of the toolkits before you trash one or the other. Ask the “theKompany.com” why they chose QT rather than gtk
How the desktop looks should be the choise of the user.
What toolkit is used to build it should be the choise of the developer. These two choises should not be related in any way.
This is possible in windows, where we have lots of toolkits, e.g. Qt, wxWidgets, Gtk and Microsofts own toolkit whatever they call it these days. Regardless of toolkit they all behave like windows applications and have whatever theemability that windows have.
Why not in Linux?
Sun, Red Hat, Novell, SuSE, Ximian, and others
Three of those are the same company, and that one has adopted a “DE agnostic” policy while shipping a KDE-centric distro. Until a version of Novell Linux comes out that defaults to GNOME, it would be inane to put it in the GNOME camp. So your “corporate backers” basically means Sun and RedHat. That’s *it*.
This unified desktop should also not come bundled with a bunch of applications that all start with same letter as the desktops name. Seriouusly, Evolution is just a nice name, and so is Firefox or OpenOffice (without the .org preferably). But I don’t think adding a K or G to the name of every application is very Kool. It’s all a bit geeky, and I think what Gnome is doing with the HIG is the way to if we want this unified desktop. I use Ximian Desktop and it does a great job configuring my desktop, and it’s quite a relief from the unorganized chaos that was my former desktop. I am really looking forward to the next release of Novell’s SuSE/Ximian desktop combination.
The lay-out of the program, on the other hand, would be very hard to abstract. ROX applications, for example, don’t have a menu-bar, but only a right-click context menu. So if I run one of these programs on my ROX desktop, would the menu-bar be integrated into the context-menu somehow? That could lead to rather ugly results.
Perhaps we need a new manager in the X Window System. We already have window managers and session managers, why not a menu manager.
It could cooperate with the window manager and place the ROX menu as a menubar on top of each window in a windows like desktop or place the menu at the top of the screen in a MacOS like theeme.
Eh? Adding “K” or “G” is geeky, but adding “i” is fresh and cool? Please. You think “G” and “K” are geeky because you associate KDE and GNOME with geekiness, not the other way around.
The day Apple changes the name of iTunes to be something less geeky is the day KDE and GNOME get rid of their “G”‘s and “K”‘s!
troll / flame / … …
kde/gnome war…
The author was writing about usability, not about how gnome is superior to kde or the oposite…
If you prefer gnome, that’s great, it exists. If you prefer kde, YO MAN, here it is !
I think the author made a mistake taking kde for his example cause the kde team try to make the desktop unified. The classes behind kde (kde classes or QT) are just great. Plus the kde team integrates some gtk stuff into their own libs to make the desktop muxh unified… I don’t know if gnome did this with the gtk stuff…
The main idea is, IMHO, using the same “template” displaying dialogs, or everything the user interact.
After this, if the template is diplayed with gnome / kde or anything else, it doesn’t matter.
when we got templates unified, we have to talk about “dialogs” not for the users but between apps…
If I drag something on an application, what do I have to transmit ? file path, meta-infos… How do I transmit this stuff ? etc …
template on one had for user dialog
code and library (KDE ONE;) for application/internal dialogs…
my 2 cents…
should not be to hard for the app to query in some way what desktop is running at the moment and get the needed data from there, ie generic querys to a underlying infoserver. but i realy dont see the problem, i can run gnome apps within kde apps and i can run kde apps within gnome. as long as the copy&paste and drag&drop works from a gnome app to a kde app or from a kde app to a gnome app im happy. sure it helps build up muscle memory to have the same dialogs all the time but i dont have a problem remeber that well now im useing a gnome app so the dialog will most likely look like that…
“as long as the copy&paste and drag&drop works from a gnome app to a kde app or from a kde app to a gnome app im happy.”
That doesn’t work for me, not for any data that isn’t plain text.
“Perhaps we need a new manager in the X Window System. We already have window managers and session managers, why not a menu manager.
It could cooperate with the window manager and place the ROX menu as a menubar on top of each window in a windows like desktop or place the menu at the top of the screen in a MacOS like theeme.”
I’m not sure if you entirely got my point. Well, you got my overall point, but not my specific example. I can see how what I wrote was a bit unclear, though.
I was actually referring to non-ROX applications integrating into a ROX desktop environment. As I mentioned ROX apps have no menu menu bar at the top of the window, like this:
http://rox.sourceforge.net/screens/edit.png
ROX apps only have a right-click menu. So to have one of the adaptive apps as proposed in the article integrate into ROX, it’d have to get rid of the menu-bar somehow and integrate it into the context menu. That would really clutter up the context menus, though.
Similarly, if I am on ROX and I write an adaptive application, I would probably be tempted to only define a context menu. Now if someone on KDE or Gnome ran my application, they’d find there is no menu-bar at the top of the window, since me and my ROX-head didn’t define one.
My point, in case anyone missed it, is that it would be very hard to make a system for programs that integrates well into different environments, especially when the differences between these environments are very big. I fear it leads to the same problems webdesigners have sometimes. A webpage that works in Internet Explorer will often not work correctly in Mozilla or Konqueror and vice-versa. Making a webpage that works well in all browsers requires lots of testing and tricks. Making an adaptive application would probably also require a lot of testing on different desktop environments. Then again, I suppose it’d be less work than making a different graphical front-end for each desktop.
I think you’re right that a scheme for applications that adapt to the local environment would need things like a “menu manager”. Or maybe one manager that manages the position of various interface elements. Something tells me that adding another layer of software will slow down applications, though.
Maybe it’d be better to create a number of libraries in which a programmer can create a kind of unfinished graphical front-end to a program. With this library the programmer would define a number of buttons, views and more such things. Then, a programmer could use the native GUI API, like QT or GTK to put the buttons and other interface elements into a position that is appropriate to the local desktop environment. This wouldn’t make a program work immediately work in different environments, but it’d be a lot easier to port.
may i ask what apps your trying to copy to and from?
Abstract the whole GUI away from the application!
If we do a rough MVC division af an app the current state is that the os handles the M and then the app the VC (the V with some help from a toolkit). Just give the whole V to to the DE and the application can concentrate solely on C. It would be kind of plugins rather than applications…
>> No, I haven’t, but I’d be interested to have a look. Do
>> you have any links?
Some (I think) test shots I’ve found on Jimmac’s site:
http://jimmac.musichall.cz/screenshots/screenshot-012551000.jpg
http://jimmac.musichall.cz/screenshots/screenshot-238836000.jpg
Notice how Yast almost looks like a Gtk+ app in the first shot and how the boot screen shows “Powered by” [SuSE Icon] and [Ximian Icon].
Of course, it’s just speculation, but from looking at those screenshots I’d say they’re going to use the Ximian stuff for the default DE.
Aw well, as long as it looks nice and works well it’s fine with me.
@Rayiner Hashem
Three of those are the same company, and that one has adopted a “DE agnostic” policy while shipping a KDE-centric distro. Until a version of Novell Linux comes out that defaults to GNOME, it would be inane to put it in the GNOME camp. So your “corporate backers” basically means Sun and RedHat. That’s *it*.
Except you’re wrong. All of those companies before they were one and even after they were one all financially or codewise support GNOME. So even though GNOME isn’t yet the default desktop for SuSE. They bought a GNOME company, Ximian. I’d say that counts a lot as corporate backing. Defaults have no say in the matter.
I could also add Debian, Progeny, etc. as GNOME backers as well as many other companies.
1) SuSE never bought Ximian. Novell bought Ximian. So SuSE never supported Ximian.
2) Defaults matter a lot. The default desktop in the product a company is shipping is what gets the development effort and the development funds. SuSE has invested quite a bit into KDE, and this is continuing under Novell. Novell may support GNOME, but at least for now, it’s in the KDE camp as far as “majority of development effort” goes. Remember, SuSE was 10x larger than Ximian going into this deal.
3) Debian is desktop-agnostic. DebConf has GTK+ back-ends in addition to Qt back-ends. Progeny is similar (indeed, a key point of Componentized Linux is to enable their distro to be component-agnostic).
4) What “many other companies? There are quite a few companes that indirectly support GNOME by shipping RedHat, but that hardly amounts to backing GNOME. Heck, IBM ships both RedHat (GNOME) and SuSE (KDE), but you’d probably say that makes them a GNOME backer, right? Sheesh…