libattica 0.1.2

I just tarballed libattica 0.1.2 which consists of a few bug fixes. I hope distributions will pick it up before KDE 4.4 but it’s not required and doesn’t save the world either ;)
On the plus side we have some small fixes though:

  • a memleak (in case a request was aborted the QNetworkReply would not be deleted… so if you use QNetworkAccessManager or the KDE pendant, remember that deleteLater()!)
  • a Qt 4.7 compatibility fix (thanks Thiago)
  • some more functions in case of Qt-Only use are implemented now, so it might be viable to use the lib without KDE… if not, let me know ;)

Now I don’t know how to change the topic to KDE-Edu, but anyways…
I’m happy that we have two new faces showing up and bug fixing KWordQuiz and Parley. Welcome aletum and Kolia!

Update:
The tarball should show up shortly at the usual place: ftp://ftp.kde.org/pub/kde/stable/attica/.

New Stuff again

Hi there,
now that the KDE Software Compilation 4.4 is branched, it’s time to think about the next iteration. Next to bug fixing that is.

I’ll keep fixing things I broke with the hot new stuff framework re-write that makes it’s first public appearance in 4.4.
Since this was the first release including KNewStuff3, not that many apps have been ported yet - I just didn’t want breakage all over the place, but only in a few chosen locations to be able to fix bugs ;)
If you’re curious about the new stuff (no pun intended whatsoever), check these: Plasma Image Wallpaper, Comic Plasma Applet, Kate’s Snippets NG (deep inside Kate’s config, you need to enable the new snippets plugin) and Parley. Parley features an upload dialog in addition to the download version. Here’s fun to play with and dreams coming true :D (we spoke about this on the first KDE meeting I was at - back in 2007 in Paris).

Jos poked me on the promo list, that maybe more information should be out there. I cannot agree more… so I’ll try to make up for that. Here is a quick update mostly for application developers wanting to use KNS3 or port apps already using the older version.

ghns_list

So why did we decide to redo something that was working? In such an intrusive manner even, that it now resides in it’s own namespace (KNS3 as opposed to just KNS)?

Well, I read over the old code and talked to Jeremy a lot (thanks dude!). In the end Jeremy created a branch to restart the hot new stuff framework with some binary incompatible changes that made a lot of sense. I started hacking away on the branch and since it was incompatible anyway, I could freely play with it. Later Dmitry also joined to help with lots of polishing and fixes :)
First up was the creation of a new “provider” type - that is a data source that hot new stuff uses - a server representation. Getting that to work was easier than expected since I could just hack away and change stuff as I saw fit.
Also there are surprisingly many crashes in the old framework. I didn’t know about that, but now I get cc’ed on the bug reports automagically… (ouch). Many thanks go to Dario who manages this incredible mass of bugs (how do you do that??).
One problem I think is that the engine class (that users of the old API had to use) set up an event loop that would take care of managing the dialog itself. Confusing? For sure. I’m not sure if it managed to set up yet another event loop in the dialog itself, but I suspect this is the cause for some of the little buggers. Anyway, the new version is just a subclass of KDialog, easy to use, little public API. And it reuses K/QDialog’s proven and tested event loop - less code, more robust. On the way it gained a few features - such as a details dialog, here you can vote for a stuff-item-thingy or become a fan of it. Which will be reflected in the openDesktop plasma applet where your friends can see that you now like the stuff-item-thingy you just became a fan of ;)

ghns_details

I wrote a little tutorial on techbase to get you started.
Porting apps that already use KNewStuff2 is dead easy:
Change the include to <KNS3/DownloadDialog>, use the download dialog like any dialog (show/exec) and check for installed or changed items when it is done.

This is described in more detail in the KNewStuff3 tutorial on techbase.

In addition you need to update your .knsrc file:
[KNewStuff3]
ProvidersUrl=http://download.kde.org/ocs/providers.xml
Categories=KDE Wallpaper 1920×1200,KDE Wallpaper 1600×1200
TargetDir=wallpapers

That’s it! (don’t forget to link to knewstuff3… and happiness ensues…)

If you need help on porting an application, let me know. You can ping me on #kde-devel on freenode.

There are some fun interesting todos (yeah, right) for KNewStuff3. Let me know if you want to dapple with the insides of KNewStuff3 :)
The upload dialog is still very basic. It needs love. Lots of it. Another feature that will be easy to implement but probably takes some thought and re-factoring to reuse things from the download dialog in the best way possible, is a class to automatically check for updates. The idea is that apps can let it contact the server on and notify the user that a new version of there favorite stuff is available.

On a totally unrelated note: I’m going to visit a KDE SC 4.4 release party! So should you! And if there’s none close by, how about just organizing one? It’s not much work but fun ;)

KDE Education Survey

Last week we, the KDE Education folks sat down for a meeting on IRC, to discuss where we want to go.

There are lots of good applications under the KDE Education umbrella and very nice people behind them, caring for the applications and their users. Sometimes it’s very hard to guesstimate what our users like and dislike. Yes, we crave your feedback! As a result of the meeting, we sat down and created a survey, to gather some feedback. It’s our first go at something like this, so there’s still lots to learn ;) … Learning and Free Software are just a good combination! It won’t take long to fill out, so go ahead and donate us a few minutes of your precious time.
Lydia wrote about the survey, but we’d like more people to participate still.

Kanagram
Kanagram
KHangMan
KHangMan
Kiten
Kiten
KLettres
KLettres
KWordQuiz
KWordQuiz
Parley
Parley
KAlgebra
KAlgebra
KBruch
KBruch
Kig
Kig
KmPlot
KmPlot
Blinken
Blinken
KGeography
KGeography
KTouch
KTouch
KTurtle
KTurtle
Kalzium
Kalzium
KStars
KStars
Marble
Marble
Step
Step
Cantor
Cantor
Cantor
Rocs

Take the survey!

Update: I added Rocs to make the list complete!

Dead Stars

Fitting my earlier post about rating and stars in Get Hot New Stars Stuff , I just listened to “Dead Stars” by Covenant…

So this is all about stars. At first I wanted to answer the comments individually, but there are just too many.

A few points keep coming up:

  • The number of items in the Hot New Stuff Dialog is limited: not any more, the dialog will fetch more items if you scroll down. (I’ll do a screencast soon, promise!)
  • Updates: There is a category that shows only installed items, here it’s easy to update individual ones. Applications will have the possibility to query for updates without invoking the gui at some point, probably not in the initial release though.
  • Displaying the Rating of an item will most likely be the “five stars, just as in Nepomuk/Dolphin” variant. It shows the numerical rating in a tooltip (yeah, we all love numbers, don’t we?? though I would still download what I like, not what the rating tells me to like). I stretched the scale a bit, since ratings from 0-20 and 80-100 are nowhere to be seen.
  • The user will be able to rate items, but only gets to choose “I like it” or “Don’t like it”, same as on openDesktop.org.
  • Different categories (as seen on openDesktop.org for example) will probably return, I would like to see some mockup how to integrate that into the dialog without having lots of combo boxes around…
  • The scrolling is badly broken, I really need to look into that.
  • It’s getting late, I should be in bed ;)
The mouse is on the second item with the actual rating as tooltip.

The mouse is on the second item with the actual rating as tooltip.

KNewStuff3

Finally LibAttica has landed in kdesupport (that’s where additional libraries are kept, that are not by definition part of kdelibs). Téo promised to bring his price winning Amarok about dialog into KDE-Land for KDE 4.5 :)

I am just about to finish the first big big re-factoring of our Get Hot New Stuff framework. Since it got ported to KDE 4, Jeremy kept it up and running but didn’t have a chance to run with it due to some issues that belong to the land of “real life”. I poked at it two years ago, but then I’m a lazy bummer, so nothing at all happened there either.

Finally, Frank pushed me to get around and do work work on the dialog. The version in our re-factoring branch is ready to be merged into kdelibs, take advantage of LibAttica and just wants to put a smile on your face. Well, it’s not quite there yet, some features are missing - just the ones that are important to me :( that is the social community interaction part. Rating items, seeing more information about the author and so on. But with LibAttica doing the actual work, it’s at the tips of my fingers. Just need to do the right connections. So far I’ve been redoing all the backend stuff.

It’’s time to start polishing our good old dialog a bit. And here I’d like feedback from you! I have experimented with different ways of showing the rating of an item. Let’s say, we get a number between 0 and 100, how should we represent that in the user interface? In the original version we showed the number “Rating: 79″. Maybe not the most visual way. How about a progress bar? Nope, doesn’t really fit. Nepomuk uses stars. Those fit very well with the “Get Hot New Stars” icon that we have for “Get Hot New Stuff”. So why not go and borrow the widget? In the first iteration, I used 5 stars, just like Nepomuk. But it didn’t seem quite right to reduce the large range 0-100 to that. Plus the widget looks insanely huge and dominates the dialog just a bit too much for my taste. So I personally prefer the ten-little-stars variant.

But I probably think much too limited, knowing what goes on in the background… And I still have the old dialogs in mind. So dear reader, let me see some creative mockups, ideas and fresh ways to go about this dialog and it’s layout, contents and so on. Why not layout items in a grid? Something completely different? Throw it at me. Maybe the next version will be yours! Should we have different layouts for showing Wallpapers (images in general) and things that don’t necessarily have preview pictures? Vocabulary files usually are not that visible. Plasma Applets should have a preview, but here the text is important.

You can reach me at lastname@kde.org. Since Frederik is my firstname, use the other one ;)

And if you ask yourself as developer, what will change, that’s easy to explain. Instead of having the somewhat strange logic of going through a class to give you a dialog, you will use the new dialog just like any other KDialog - either modal or not. When you’re done with it, ask it for a list of changed or updated items and be happy ;) The only thing you need as well is a appname.knsrc file which is just a KConfig file that contains a bit of information about where to download from, how to install the items. That’s usually two lines and I’ll put an updated tutorial on techbase. Speaking of which, I started a small Attica tutorial, let me know if you’d like to read on or there’s something unclear about it. Porting an application that uses the Hot New Stuff framework already should take no longer than ten minutes.

Many thanks to Frank and hive01.com for making this possible!

NepomukOpenSocialSemanticDesktopWorkshop2009

With this great title stolen from the techbase page, what could possibly go wrong?

Yesterday in Freiburg our meeting to discuss about Nepomuk and integration with social-semantic-collaboration issues kicked of. We, that is Sebastian, Alessandro, Frank, Leo, Stéphane, George, Laura, Iridian and yours truly.

Topics discussed are things like: What meta information would I want to share with my friends, when I pass on photos? What is sent, when I pass on a contact to someone else? Do I want to identify where a rating for a song comes from? Should I be able to search in my music collection for the favorite songs of a friend? What and how is all this technically feasible? What about my privacy and that not so public comment I wrote the other day?

We talked about some use cases, such passing on data on usb sticks, later mailing some of the data and thinking about the life cycle of the meta data. Now we know a lot more about our virtual friend Claudia, her wedding and Dirk’s dislike for her dress ;)

While some of this may sound pretty academic still, we also discussed the practical side of things, how it can be expressed in the Nepomuk onthologies and how to deal with privacy issues. Clearly the others are more into the RDF world than I am, so I’m still playing catch up with all the fancy words and wealth of abbreviations around. But don’t let that scare you, to use Nepomuk as user, you won’t have to deal with all of these. Even as application developer you can use Nepomuk without becoming an expert in semantic issues and onthologies since Nepomuk takes care of most of the work for you :)

neposprint

During breakfast we had a lively discussion about GUI features and how to give more of the power of Nepomuk into user’s hands and where we need more integration.

On the more practical side, Sebastian helped me debug one of the strigi analyzing problems that the virtuoso backend showed on my desktop, within a few hours my Nepomuk database now grew from containing the meta data of about 100 files to over 20000 now :). (Just in case anyone wants to try: get Virtuoso from sourceforge (released version 5.0.12), use “./configure –disable-all-vad”, rebuild soprano and kdebase.)

Currently Frank presents the Open Collaboration Services and we will discuss integration of online data, services and Nepomuk afterwards. Then we’ll try to get some of the data exchange ideas put into code.

Hotter new stuff on its way

Monday mornings, you guessed it, are not a good thing. Especially when it’s all rainy and you get run over by a car. Luckily nothing really happened to me, only a few scratches and a new experience (I’ve never had this Hollywood style “rolling over the hood of the car” thingy happen to me before). Let’s move on to better stuff then ;) maybe I can even write about KDE related things.

Just now I got the confirmation that KDE will have a booth at the 2nd Ecumenical Church Day which is way in the future - May 2010. More about that later.

What I wanted to talk about… Yesterday, Eckhart moved Attica into kdereview.

We’ve been poking at this nice library for a few days now, and we’re really happy that it’s ready to be used more widely now :D

Attica is a cool little library that allows us to integrate applications nicely with the web services provided by “Open Collaboration Services” servers. Yay, for the buzzwords there! Actually it sounds more complicated than it is. Can you hear the voices in my head? I can. And that makes me happy ;) So let me repeat for those not hearing (the voices in my head):

Someone in my head: So you might wonder, what’s that stuff good for anyway???

Me: Well, let’s see what could be done… we have a data engine to provide plasma applets with all that goodness, so it’s possible to let the user know what’s going on around him and with his friends. …

Someone in my head: Wait! You are telling us, you just wrote a facebook clone?

Me: Not exactly. We still have KDE and our users in mind. So imagine, you really like some application that is also on kde-apps.org. And since you use it daily and it’s really cool, you decide to become an fan of the application (come on, just click that button, it doesn’t hurt!). Now the author of your favorite app publishes a newer version. And you get a note right to your desktop, that a newer version is available.

Someone in my head: Ok, that’s like half way social… but…

Me (interrupting rapidly): More goodness comes from the neighbor list. Say you come to Stuttgart for a short visit. And once you go online there, you see, one of your favorite KDE developers is actually in town also. Quite interesting you think and just a click later you have sent a message to meet up. What a nice evening! Or take the event list. Here you get notified, when an event takes place close to your location. Get notified of that developer sprint next door and just drop by to meet all the cool kids. I admit, these examples are still a bit KDE-geeks-are-great centric. But they are just examples and the beginning. More stuff is yet to come. Maybe you have ideas too?

Someone in my head: Me, ideas? Uhmmm… maybe I’ll leave them in the comments…

Ok, enough talking, let’s see some action!

One thing I spent much time on last week, was getting our Get Hot New Stuff implementation knewstuff2.5 ported to use Attica in addition to the classical XML files we used so far. With the help of Jeremy I got something working by now. Yes, it still has many rough edges… Anyway - using Attica gives us some of the features that we wanted to have for a looooong time already. After ripping a lot of things apart, we’re slowly piecing the puzzle back together. Internally we now support rating and adding comments but that needs more GUI work. So today the Hotter New Stuff is server side search. If you like a certain wallpaper or that special script, it will no longer disappear after a while. Have fun watching me, trying to talk to myself here:

Get Hot New Stuff with Attica

Watch it on Blip.tv, download ogg video. (I can’t seem to get it embedded here… giving up now…)

Promo Sprint

Quite often, a group of awesome people meets to promote KDE to new people. Most often that happens on the different IT/Linux/Free Software/something fairs. This is where many technical (and sometimes not so technical) people come together, exchange information, take the chance to talk to people directly involved with our project or just discover something completely new. I heard there are people not yet using KDE ;)

On of these events which is rather new is the IT & Business fair in Stuttgart. In the coming week (October 6-8), Eckhart, Frank and me will man a demo point to show the awesome that KDE is.

If you are interested in getting more involved with KDE or meeting us, this is a great chance. You get to see a fair (that may or may not interest you), meet users and curious people and have a chance to spread the word ;) What you need is some enthusiasm for KDE and everything else will follow (yay, a great chance to practice talking to strangers).

While we have a certain routine by now, visiting one or the other event, we certainly would love to pass on some information how to run the show and make the experience for everyone a bit smoother. To this end, we discussed a bit with Cornelius and Frank, to get something going, and decided it’s time for a “Promoting KDE at Events” sprint.

Eckhart wrote a mail to our promo list. The suggested date for the sprint is Oct 31st - Nov 1st.

Now we’d love to have some new people at this sprint as well, to get some fresh input. It would be great to see fresh faces, people who like to write, talk about KDE and think about the logistics side of things as well.

Some things we’ll discuss is the practical aspects of the booth box (it’s currently very robust with the tiny downside of being about as portable as a medium sized coffin). Creating instructions for setting up the booth and including some niceties such as a table cloth (dear me, we are going to be so decadent).

Techbase page to coordinate the promo sprint

Drop me a mail if you’d like to come at gladhorn AT kde DOT org !

Killing me softly

Usually I assume that people trying to kill me, me on my bike, they in their cars, don’t do that intentionally.
I admit, I would have almost run over a bike before once or twice. No I’m not perfect. But I have nightmares after such situations.
Now today I had one of the more harmless situations. A car turning into my lane so that it would have hit me, had I not jumped out of the way (or pulled over in this case).
IMHO it’s my right to yell at people for doing that. Yeah, selfish me.
But then, taking me over with a devilish grin, “I knew you’d go away anyways”, makes me slightly angry.

FantasyFilmFest 2009

From Wednesday last week on, the Fantasy Film Fest visited Stuttgart. After having missed this event completely last year, I decided to see more of it this time.

Since the movies at this event are somewhat up my venue, I went a few times to enjoy unknown, independent niche movies, including vampires, blood thirsty kids and some serial killing. And zombies, never forget, there be zombies ;) District 9 which is supposedly quite a nice flick was sold out already, but it’ll be in the movies in a couple of days anyway, so no problem, I’ll get to see it, just a week later.

So here is what I saw:

  • Blood: The last Vampire: Japanese adaption of the Anime of the same title. I didn’t expect much in the way of it having a story… but I was a bit disappointed by the action. No “Crouching Tiger, Hidden Dragon” like beauty during the fighting. Instead ugly demon-vampire creatures being slaughtered so fast that it’s hard to follow the sword of the protagonist in her school uniform. Not recommended.
  • The Children: This one was much more to my liking, little kids that have a bit of a cough that turns them into evil beasts (even more evil than children usually are :P). So on a weekend trip to a lonely cabin the little sweety-pies have nothing better to do than slaughter their parents. Of course only the grumpy teenage girl understands their evil intentions. Some murderous kids, the cuddly teenage wanabe rebel girl and dark humor. I did enjoy this one.
  • Thirst - Durst: (”Bakjwi” - Korean) A monk subjected to medical experiments is the only survivor of some virus. He develops super human powers but needs to drink blood to sustain his new way of living. That doesn’t make him to happy. Poor guy with too much of a conscience. Must be hard to be a vampire without fangs. I did enjoy this one a lot, though I found Chan-wook Park’s “Old Boy” much more intense in comparison. Modern vampires in an eastern setting.
  • Push: Science Fiction with some super powers mixed in (telekinesis, mind reading and similar) which turned out much more enjoyable than it sounds. Good movie with some cheap Matrix imitations, a bit of a comic super heroes feel (but not in a bad way) and a nice story that has some surprises and a flower built in.
  • Sexykiller: Spanish with English subtitles delights me as I like to practice my increasingly rusty Spanish from time to time. And this killer is sexy indeed… a girl that sometimes is almost Austin Powers like tells her story. Better don’t ask her, why she’s a serial killer… you’ll only end up decapitated. With a firm believe that even today “serial killing” is a chauvinist domain, our heroine sets out to change that. Including fake advertising - learn how to become a serial killer in just 10 days and lose 5 kg at the same time. Quite a bit of black humor, weird scientists and towards the end zombies that are quite entertaining. I had to laugh quite a bit and thoroughly enjoyed this show.
  • Bathory: The story of Erzsébet Báthory. Or rather not. Two hours that seem to last longer even… Some of the scenes are actually nice. But some just made me cringe. Some monks are sent to spy on the Countess. Why on earth do they have motorized skates, a camera and other technical inventions that don’t really fit a movie set around the year 1600.  Oh please. At the entrance of the movie theater there was a big white board, letting visitors leave their opinion about the movies. One comment said: “Without the monks please.” I wholeheartedly agree. I would have liked to like this one, nice historical setting and costumes, but there were too many irritating wtf moments to enjoy it.
  • Loft: I don’t remember watching anything with Dutch (Flanders) language and German subtitles. Funny, how close the languages are sometimes and how totally different at others. A few friends get hold of a Loft to get away from every day life and especially their wives and girlfriends. Here they can cheat, celebrate and enjoy… until they find a dead body in there one day. There is a plot to this story. And it gets twisted. And twisted again. At some point, I thought it would never end but instead come up with different endings and more twists till eternity. It did end, I did enjoy it, it is not my new favorite.
  • Hansel and Gretel: Another Korean one, not quite the classical fairy tale. After having an accident, Eun-Soo has luck to find help and is guided to a house deep in the forest.  Recovered after a night of sound sleep he starts to walk home and comes right back to the house… Some nice twists and the original Hansel and Gretel is an important element here, but not retold. Interesting and fun to watch, but not entirely convincing.

So two Korean movies, I did like them, but not as much as “The Isle” (Seom) or “Oldboy”. Sexykiller was the most fun one of the bunch, though a bit over the edge sometimes. Overall lots of fun and a nice crowd at the festival, different from the average audience. Mediocre movies, only recommended if you enjoy independent or B-movies.