KDE-CVS-Digest for November 14, 2003

In this week's CVS-Digest:
A deeper freeze is called for in preparation for release. Kexi,
a graphical database application now has GUI and non-GUI parts.
Many bug fixes, including searching and sorting fixes in JuK,
topmenu fixes in KWin, CSS and JavaScript fixes in Konqueror.

Dot Categories: 

Comments

by E.Ros (not verified)

One year of CVS-Digest and more than 50 issues...
...thanks a lot for providing such a good resource to the community.
We all love KDE and we're rocking now! I can't immagine in which way will evolve our favourite desktop environment during next year.. will we touch stars ?? :-P
-> Thank you Derek ^_^

by Derek Kite (not verified)

The highlight of this last year has been the maturing of khtml / kjs, making Konqueror into the browser of choice. It is now possible to live without mozilla. In fact, Konqueror could arguably be said to be the better browser. This is a huge step for the KDE project.

There will probably be a few other applications that become must-use. Kontact / KMail possibly. A stable and feature rich Kexi would be awesome, not only for a standalone database app, but having database libraries available for use for other applications will open up opportunities. Imagine a powerful scripting library calling the existing modules and parts, with a database engine available. That is the bread and butter of business desktops. We'll know Kopete has made it when everyone on #kde-devel uses it.

One challenge I see coming is more and more commercial interests using KDE. This has lead to successes, such as SUSE's contributions, and the Kroupware project. But there has been friction such as Redhat's attempts to define a desktop. This bears watching. I don't think the KDE project would tolerate a commercial interest attempting to become 'the project', such as has happened with Ximian and Gnome. I know that Gnome != Ximian, unless I listen to Ximian.

One prediction I will make is someone will purchase Trolltech. Imagine imagining that you own the api for one of the major desktop environments on *nix! Someone could say, and be believed, that they own KDE. I feel my teeth gnashing at such a prospect!

Derek

by lucijan busch (not verified)

actually i am working on a design for a kde and cross-application datasource library. hopefully i'll be able to finish these documents soon.

lucijan

by Erik Kjær Pedersen (not verified)

>But there has been friction such as Redhat's attempts to define a desktop

That is certainly true. Redhat is a strange company. A lot of what is going on has to do with trust. I have been using their up2date service, and I was so happy with it that I would have signed up if I had trusted them. I kept having this leary feeling that I should not do it even though I wanted to and could easily afford it and now they have proven me right.

I am also extremely worried about QT, what is going to happen to them. This recent development may mean we are losing SUSE. At least I think they badly need to convince us this is not the case. I think we need to hit harder on the point that LGPL is supposed to mean the LESSER GPL, and QT is GPL whereas gtk is LGPL. How do the hypocrits around Stallman deal with that.

Erik Pedersen (Danish translator of KDE)

by Anonymous (not verified)

> This recent development may mean we are losing SUSE. At least I think they badly need to convince us this is not the case. I think we need to hit harder on the point that LGPL is supposed to mean the LESSER GPL, and QT is GPL whereas gtk is LGPL.

Likely SUSE cares more for own commercial than Open Source success if there is a decision to be made between GPL and to be generated income of pleased proprietary ISVs. For the moment they more depend on the income of their customers which are used to and like KDE more. For my part I don't care much about commercial success of KDE including SUSE's. I do much more care if it's the favorite desktop to further develop of enough volunteer developers to continue its development. And there I don't have any concern.

by Gerd (not verified)

That's right. Linux-Desktop means Linux/KDE. I like Gnome as well, but it is not mature yet. KDE needs Usability polishment and very few applications. A better OO integration, better a OO GUI abstraction. Maturity of KOffice. A more stable - distri-independend plattform.

PUSH - Thinking: Ximian belongs to Novell, Novell bought SuSe, therefore SuSe has to focus on Gnome and ship Gnome as default desktop.

PULL - philosophy: customers request KDE, SuSe is focussed on KDE, and now belongs to Novell, therefore it is likely that Novells Linux-Thinktank Ximian will have to support KDE in the future.

by Shift (not verified)

"In fact, Konqueror could arguably be said to be the better browser"

Wrong.
Lake some CSS, MathML, XSL, XML support....

khtml is good but not as Opera-engine or gecko but Konqueror is better than Mozilla or Opera :)
I want a better CSS2 support in Konqui or I'll kill a cat !!!

by Anonymous (not verified)

I want the khtml regressions compared to khtml 3.1 fixed first! :-)

by anon (not verified)

> Lake some CSS, MathML, XSL, XML support....

Agreed.. Konqueror has come a __long way__ in the past year to bridge the gap between itself and Mozilla || Opera7. It isn't there (yet), but is good enough to become my browser of choice. Back in 3.1, Firebird was.

There are a few things that Konqueror is better than Mozilla at though. Spell checking of forms (I became used to this soooo fast because of Safari), and SVG support.

by Birdy (not verified)

Don't worry about Qt - there is the "KDE Free Qt Foundation":

http://www.kde.org/whatiskde/kdefreeqtfoundation.php

by Thorsten Schnebeck (not verified)

Yes and this is maybe one of the reasons why noone buys TT up to now :-)
OTOH, for a company like Novell is could by quite interesting to acquire the best multiplattform toolkit. Maybe they first have to learn that MS will not tolerate somethink like Mono as a workable multiplattform alternative.

Bye

Thorsten

by Anonymous (not verified)

> We'll know Kopete has made it when everyone on #kde-devel uses it.

Don't judge Kopete by means of its IRC plugin. There are many nice other KDE IRC programs like Konversation.

by Shift (not verified)

For IRC konversation is muche better.

Kopete is excellent for Instant Messaging (MSN, ICQ, AIM, Yahoo,...) but konversation is the best KDE application for IRC :)

by Anonymous (not verified)

Does the konqueror from HEAD work properly with http://personals.yahoo.com (can't navigate search results) and http://www.memphisrunners.com (layout bug)? I was just curious.

by Eric Laffoon (not verified)

> There will probably be a few other applications that become must-use. Kontact / KMail possibly. A stable and feature rich Kexi would be awesome, not only for a standalone database app, but having database libraries available for use for other applications will open up opportunities. Imagine a powerful scripting library calling the existing modules and parts, with a database engine available. That is the bread and butter of business desktops. We'll know Kopete has made it when everyone on #kde-devel uses it.

Hey Derek... (don't forget)... :-( ...the one application that has a shot at being substantially better than commercial offerings and is native to KDE? Quanta Plus! However we missed on some features to it will only be in the running for 3.2, better in some areas but not others. It will however be more than good enough for most and will introduce Visual Page Layout which will be a first for a KDE or GNOME web tool and the actual design will enable capabilities that are not possible on other visual tools. It will also write DTD compliant tagging from the get go!

Also Kommander, while again not getting everything, does have a development version that allows easy plugins of widgets. Both Kommander and Quanta will see releases outside of KDE schedules in 2004 bringing a number of new features forward. For Kommander this will mean the easiest way to add data access widgets to what you're doing on your desktop with DCOP communication between your apps. We will continue to work on making it the dialog builder for n00bies. Quanta will also be getting some very cool new features, but I'll save those announcements for later. For now I just want to say that even if you don't write web pages you may well find something you like coming from our CVS module.

> Thank you Derek ^_^

I second that. Without Derek I wouldn't have been able to keep up with the pace of KDE development. Thank you again.

by Charles (not verified)

Kexi is what I look forward to using extensively. But to be widely deployed, application developers need to ba able to add business logic to Kexi easily. What I suggest is pubicize (sp) the scripting language also, so that this logic mentioned above can easily be added. Question is: How how does a newbie start with this Kexi scripting language?

by Jaroslaw Staniek (not verified)

Yeah, easy business logic tools are #1 prior for Kexi. By no means, Kexi will offer/use public, open scripting platform, Python or Java Script. While this is on our (Kexi Team) planned features list, we now still concentrate on core features to have this really stable and polished. Without stable C++ API it is not so clever to adding scripting bindings that can quickly became obsolete. Although, in the meantime, we are pleased to see evolution of KJS and PyQt/PyKDE scripting platforms.

by Shift (not verified)

Everybody loves screenshots so here are a few of them I made with KDE CVS last week :
http://perso.wanadoo.fr/shift/KDE3.2/

There are unclassified and sometimes don't show 3.2 new stuffs but I haven't classified them yet. I will make a KDE3.2 review with this shots when I had time.

The shots don't show one of the better new feature : kontact. I will make more later.

Good afternoon and thank you very much Derek for your job.

by Anonymous (not verified)

Thanks for doing these screenshots. Some small notes about the annotations: KMPlayer is not part of KDE 3.2, Konqueror and KHexEdit had tabs already in KDE 3.1, also the "CGI Path" stuff is not new and Konqueror could already block popup windows. And "like Gecko", which is shared as identification string with Safari, only means that some things are interpreted like Gecko does and not like Internet Explorer.

by Shift (not verified)

Yes that's the work I need to do now : Remember what's new because I use KDE CVS for month now :)
That's your fault Derek !! If you didn't made the digest I will never used KDE CVS ;)

Does somebody have a CGI example ? I don't know the aim of this.

For "like Gecko", I know that Safari do this and it is bad to my mine. A browser is not "like" another one but as the W3C specifies. And khtml has lot's of mistake in CSS and regression in CVS so it is not like gecko. gecko is very different. I have made lot's of test with same and the "like gacko" disturb me.
Indeed we can say that khtml is like gecko : "It rocks !!" and not like IE : "It sucks !!!" ;)

PS : Moreover Konqueror support lot's of IE specificities "scroolbar-color, document.all,..." It will be cool if we can have an option to told khtml to use only "Standards specifications" (w2c, Ecmascript,...)

by fault (not verified)

> A browser is not "like" another one but as the W3C specifies.

Yes, but in the real world, sites do browser sniffing, and many sites, if they detect gecko in the useragent, will send w3c compliant html/css/JS. This is the kind of code that we want to get sent to Konq, since it handles it much better than non-w3c compliant code. This is why Apple did this in Safari in the first place, and why we do it now.

by Shift (not verified)

Kill all this stupid web-developers who test user-agent and not features :)

if(document.all) {
...
} else if(document.layers) {
...
} else {
// w3c way to do
}

Yes it is much more difficult to test this for CSS :(

by anon (not verified)

Using that kind of code, will of course, be impossible to differentiate between IE and Konq.

by Shift (not verified)

Yes because Konqui support document.all

That's why having a way to unactivate "Non standards features" could be very very cool for web-developers

by anon (not verified)

Perhaps it should automatically turn off document.all support if an IE UA isn't being used, like Safari does.

by ac (not verified)

> And "like Gecko", which is shared as identification string with Safari, only
> means that some things are interpreted like Gecko

... but still is a bad idea...
"like MSIE" is as bad, luckily nobody had this idea until now

There are only few rendering engines, and it should be left to the webdesigner
to decide if he wants to feed the same code to gecko and khtml.

IMHO "like gecko" should be removed for 3.2

by Anonymous (not verified)

Here is a list of new applications which you may have missed: http://kde.ground.cz/tiki-index.php?page=KDE+3.2+Applications+Difference

by Shift (not verified)

Thanks a lot.

This wiki rox ! I didn't knew that such a website existed :)

by cm (not verified)

Well, it has only been announced on 2003-10-01:
http://dot.kde.org/1065000478/

by cm (not verified)

I think it would be nice if someone in the know
added a reason to each change, especially if an
app has been removed (like "unmaintained",
"superseded by xxx", ...).

And a general remark: Although it is possible
to edit the wiki content anonymously (thus
keeping the threshold for possible contributors
low) I'd appreciate it if you logged in
if that's acceptable to you.

by Anonymous (not verified)

> I think it would be nice if someone in the know added a reason to each change, especially if an app has been removed (like "unmaintained",

Done.

> And a general remark: Although it is possible to edit the wiki content anonymously (thus keeping the threshold for possible contributors low) I'd appreciate it if you logged in if that's acceptable to you.

Why? I don't need f[l]ame[s]. :-)

by cm (not verified)

Wow, Mr./Mrs. anonymous,

you sure are quick.

Thanks.

> > And a general remark: Although it is possible to edit the wiki content anonymously (thus keeping the threshold for possible contributors low) I'd appreciate it if you logged in if that's acceptable to you.

> Why? I don't need f[l]ame[s]. :-)

I won't flame you cause there's no reason to. :-)
I think it's good to know who changed the content,
for example if there are additional questions I'd like to ask.

Well, anyway. If you don't want...
...that's why it's been decided to make it possible
to edit anonymously. To not lose your and your
namesakes' contributions.

by Gerd (not verified)

Windows ... ois not responding .. blabla window

Why don't they use direct speech: It is "frozen".

by Marcel Partap (not verified)

I think I just came
seriously, those are shocking. I've read the digest and traffic, but I could not have imagined....
Oh damn I hope it will rock christmas business together with 2.6!
go KDE go!
regards
from http://www.synth-worldz.de

by kontakt (not verified)

Did anyone notice this?:
"* all non-oneliner commits have to have an "reviewed by"
line where another developer, that can be expected to know
the topic, is named that gave his ok."

And a bit further down:
"Hopefully final fixes for topmenus managed by KWin to work (#66152).
Written by Schizo, reviewed by Frenia. As it was broken anyway, I don't
think this can break it more."

Funny.

by Alex (not verified)

I really enjoy reading KDE-CVS.

I'm also glad that now the desktop shadows actually look like shadows, this is a big + for look and feel. I also think that KDE 3.2 should be delayed 3-4 weeks in order to improve Kontact and kill the major bugs.

by jstuart (not verified)

Just an FYI but KDE 3.2 is currently scheduled to be released sometime in January 2004. Email from the RM said week 04 of 2004 but some are pushing for it to be released somewhere around the 19th or so as the Linux/Unix convention occurs in New York City.

by Alex (not verified)

Thanks for the information, a late January release is what I want too.

Also, hopefully KDE 3.3 will have a release cycle of about 6 months instead of a year as 3.2 will. Qt 4 is also scheduled to be released in mid 2004.

=)

by Alex (not verified)

Even better, http://developer.kde.org/development-versions/kde-3.2-release-plan.html

KDE 3.2 is expected to be released early February. This is a great decision by Stephen, after all KDE will not be incorporated in most distributions until April, so there is no point in rushing the process, best we have a very very strong release than we rush and release a buggy version to meed a set release.

After all, the release dates are not written in stone and only serve as suggestions. It all depends on the state of the software.

But, again, i hope KDE 3.3 will have a pretty short release cycle, 5-6 months like GNOME so that we can start KDE 4.0 and maybe change alot of the internals for the better. By then KDE will not be in need of constant releases as much as it is now and so developers can afford to spend some more time on the internals, as always it will pay off in the long run.

by Rayiner H. (not verified)

Me too. I'm using KDE CVS right now (Nov. 5), and its definately not near release state. Konqueror crashes randomly a couple of times a day, there are lots of icons still missing from Crystal SVG (or worse, not missing, but too small, so it displays scaling artifacts), and there are still bits here and there that need polishing. Its haping up to be truely awesome, but its still a couple of months away.

This is a nice article at http://www.kdedevelopers.org/node/view/235 but unfortunately I am not allowed to reply there without selling my soul to the site manager. I have only three comments anyway! :-)

> OSNews has a poll and discussion about integrating Mono into Gnome.

That's funny. OSNews closed the poll as soon as it looked like the majority would not be in favor of Mono.

> Certainly not perfect, and there are many things that I would have done
> differently, but it seems to contain less brain damage than Java. They certainly
> took a good look at Java and fixed its problems and shortcoming while
> designing ? C# and the .Net APIs.

What do you mean? Java is very fine and getting better. The API is very good and very powerful.

> Unlike Unix, Windows and .Net are under active development

Huh. Compare Windows/.Net to Linux/GCC/KDE/Java. They are both under active development! Yes, Java is improving and will be implementing some good features that C# has soon.

> That's funny. OSNews closed the poll as soon as it looked like the majority would not be in favor of Mono.

Don't they do that with every of their polls?

by Robert Guthrie (not verified)

Yes, Eugina is rather bias against KDE.. you need to take that into account in order to make best use of osnews.com

Well, bias is not really a problem as long as one can handle it. But Osnews' selection of 'articles' (most of them really were only quotes and links) as of late as well as the responses on their message boards turned it into a waste of time for me. So I'm now preferring to read sources like slashdot (some interesting comments/links) and ars technica (rather well researched articles) instead.

agreed- osnews has gone from osnews to linuxbuisnessnews pretty much.

>>Java is very fine and getting better. The API is very good and very powerful.<<
The list of things that annoys me is pretty long, but just some things that come to my mind:

- the lack of return parameters in methods (like references in C++ and ref/out keywords in C#) is driving me insane, it's often extremely complicated to develop good APIs without braindead 'holder objects'
- delegates in C# are a *much* nicer solution for event handlers and similar things than interfaces+inner classes
- the lack of a 'default method' in Java prevents smooth integration of remote interfaces without preprocessors
- the Java APIs are getting more messy with every release. It started with adding a second set of collections (Vector vs List, Enumeration vs. Iterator etc)... the newest mistake are the java.nio.Buffer classes. Not only because they are completely unintuitive. Did they ever notice that most binary data has mixed types?
- the probably biggest result of stupidity is the Date/Calendar/DateFormatter mess. Well, the new solution (since 1.2 I thnk) supports every date format on earth, but in most cases it is just making my life hell. All I want is a simple way to create a gregorian date, but Sun tried to make it as complicated as possible
- patterns similar to the Calendar disaster have been spread all over the API since 1.2. They tried to make the APIs as generic and 'perfect' as possible, instead of focussing on making the developer's life easier by making it easy to learn and to reduce the average number of functions that you need to invoke to do a common thing
- all shipped XML APIs suck completely. That's why people keep adding even more 3rd XML APIs (JDOM, XOM, xmlpull...), preventing any reusablility of components because each uses different a XML API. And they do not even re-use their own APIs, e.g. the SOAP implementation im JWSDP has its own DOM implementation. I have huge sets of helper functions to make it somewhat usable and reduce my code by ca 66%. These things should be part of the API

I agree a lot of java apis are indeed committee designed crap. But I think the basic language has less problems than the apis though, although some of the 1.5 'improvements' like templates look pretty ugly/useless.

How do your points change if we were talking about the Qt/KDE apis are wrapped in java (I'm working on regenerating the java bindings for release 3.2 now).

"delegates in C# are a *much* nicer solution for event handlers and similar things than interfaces+inner classes"

Agreed, but how about a java api that uses slot/signals? I would say they are roughly comparable in power and flexibility to delegates, and both are much better than clunky event listeners. The anonymous delegates in the next version of C# look even better, like lambdas or ruby blocks, rather than a cheap hack like java anonymous classes.

"the lack of a 'default method' in Java prevents smooth integration of remote interfaces without preprocessors"

How about Dynamic Proxies? I am basing the whole design of the next version of the java bindings around proxies (will be ready for KDE 3.3). The PerlQt and QtRuby bindings are also based on the idea of a default 'catchall' method (method_missing in ruby, autoload in perl). I've found I can do similar stuff pretty well with proxies. But you do need some sort of interface to compile against, so they're not quite as dynamic. It should allow for interesting experiments with Aspect Oriented programming too (see the nanning project for an example of doing that).

"the probably biggest result of stupidity is the Date/Calendar/DateFormatter mess"

Agreed the Calendar class has an incredibily ugly api, with all those named constants determining what a method does, rather than the method name as is usual. The java bindings convert the Qt date and time equivalents to java Date and Calendar. Possibly a mistake. That could be revised for the next bindings - it might be better to have QDate and QTime as java classes.

-- Richard

It's true... Java is so over-designed, it's not even funny.

New frameworks and concepts with every revision that make it take longer to perform simple tasks, such as reading a line from a file. The naming of methods and classes makes things worse, and things act in some really unintuitive ways. Those are my problems with Java, and they keep on getting worse with every release.

Those are also the areas where I love QT. Things just work correctly. They work the way I, as a coder, expect them to and need them to. The naming is good, the right methods exist in the right places, and basic functions require basic commands, nothing more.

It all boils down to how long it takes to write code to perform an operation and how likely it is that the code will work first time once compiled. QT is great for this (possibly only PHP is better in my experience!) and Java is truly, utterly horrid. Copying sample code from their docs or free sources online generally takes hours to get to work, if at all, and more often than not, you can't see why. You end up spending time working out why the language is functionally broken, rather than where your logic is broken, and trying to route around the damage.

I had an MSc student I was helping out a few weeks ago, who was trying to get a piece of net-sourced complex clickable area code working, a few weeks back. It subclassed one of Java's abstract classes and frameworks about five levels deep and spanned maybe ten classes, all of which were badly named and interacted in very strange ways; he'd been trying to fix update problems in it for over a month. I sat there with him for two hours and had no idea what was going on and where the problems even were. So I told him to sit down, gut the entire thing and start again, doing it himself. I gave him an outline of how to code it from first principles, ignoring the JFC's features for doing it, and just using basic classes, and he had a working version with less than a day of work. Needless to say, we were both happy.

This is why I use QT so much these days, why I'm not going to try and get a job using Java, despite the good pay in my area of the world, and why I'm going to quietly rip into it in my thesis :)

"This is why I use QT so much these days, why I'm not going to try and get a job using Java"

Your critisms of java seem to be more about the apis, rather than the language itself. But I do personally find it easier to write java code, line for line than C++.

So, back to my original question. What if you tried Java programming with QtJava (cf kdebindings/qtjava and kdejava)? In what way would the original C++ api be better? You might like to assume any technical limitations in the current bindings have been overcome, such as being able to subclass and override all virtual methods, providing Qt Desiger support etc.

-- Richard