Eye on Karamba: Talking to Hans Karlsson

Karamba (shot1, shot2) is a desktop enhancement, similar to Konfabulator and Samurize, that appeared on KDE-Look.org (looky) about one month ago. Since then, Karamba has become the highest rated project on looky with a surprisingly large number of themes and extensions having been contributed, subsequently leading to a dedicated category for Karamba contributions. We had a little chat with author Hans Karlsson about himself, KDE, Karamba, and the hype surrounding it.

1. Please tell us about yourself and how you got involved with KDE.

I'm a 25 year old from southern Sweden. I have just finished my education, Master of Science in Computer Science and Engineering, at Lund Institute of Technology. I got my first computer (Commodore 64) around 1986 or 1987 and I've been hooked since then. I became a Linux user in 1999 when I installed Red Hat. Around the end of 2001 I found the kde-look site and there were some impressive looking desktops. Before that I liked, be prepared for a shock :), GNOME more than KDE. But none of them could replace my Window Maker desktop. Window Maker was replaced by KDE when I got a new computer a couple of months later.

2. You are known as themesKnugen on looky and you were contributing wallpapers for nearly one and a half years prior to Karamba. What made you want to create software this time?

I've been coding on and off since I got my first computer. But Karamba is the first program that I've released to the public. I began developing Karamba when I couldn't stand being without the Windows program Samurize anymore. When I had a desktop I thought looked good I uploaded a screenshot to kde-look. It was partly a kind of inverted April fools joke. A suspicious looking screenshot that wasn't a fake was uploaded on April 1st. =) People seemed to like what they saw, so I released the source and some documentation.

3. What were your objectives with Karamba, and what features do you think are still missing?

The objective was to bring Samurize-like functionality to my Linux machine, i.e., displaying system information integrated with the desktop in a good looking themeable way. I think that Karamba has the features that I need right now. But that can of course change. By this I don't mean that Karamba is finished, just that it has what I personally need. One possible direction for Karamba is to make it more interactive. SuperKaramba is a initiative to do this by adding Python scripting capabilities. I think the support for non-Linux platforms can be improved.

4. What is the story behind the name "Karamba"?

As Karamba was supposed to be a Samurize clone I thought of finding a name that had some connection to that. But the word Samurize is a clever word play with the English word summarize, that made it even harder to find a good name. So I decided to continue the loved and hated KDE tradition of using a K name. I wanted a word with a leading "C" letter that can be changed to the mighty "K" letter. Caramba came to my mind after a while, and I thought the word had a positive and happy feeling. Karamba! One gets happy just by saying it. =)

5. Your Karamba project lasted for several weeks between March and April. Right after the announcement on looky its rating skyrocketed and remains the highest rated content on looky even today. There have been over one hundred themes and extensions contributed to looky since then which are making use of Karamba, leading to an own category for Karamba themes. Looking at this all it's safe to call Karamba a true shooting star. Are you surprised about the public response to your project?

Yes and no. Samurize is popular and I really like Karamba myself. My desktop just feels so empty if I remove my Karamba themes. But I can't say that I expected it to become the highest rated item on kde-look, but it certainly feels quite good. I wish to thank all Karamba users for your comments and compliments!

6. On looky, you wrote that the project is practically dead for you now. What led to this situation?

I don't have a really good answer to this. But I'll try to explain it. Before the public release of Karamba I coded when I felt for it. So it could take days between the coding "sessions". It was fun to add the new features I wanted. After the release the work on Karamba became very intense. I tried to help people with, e.g., bugs, compilation errors, patches, feature requests, themes, scripts. Then I was away from home for about two weeks during an easter break from school. But when I came back I couldn't manage to get any work done. The inspiration wasn't there. The work with Karamba felt more like a regular job than the fun hobby I wanted it to be. And the situation hasn't changed yet. I don't blame those who contacted me, not at all. They all wanted to help to make a better program. I just wasn't ready for the seriousness of being a maintainer of a project. The conclusion is that I think Karamba deserves a better maintainer than what I am now. And a little clarification: Karamba is not dead for me, more like deep frozen. A subtle but important difference. :)

7. What are your favourite tools under KDE?

There are so many good tools. Konqueror, Konsole and KMail all work great. KDevelop (Gideon) and KMPlayer are nice too. And one must not forget KPatience and Kolf.

8. What are your dreams for the desktop of the future? How far are we from the ideal desktop?

Very difficult questions. I can't say that I have a vision of a perfect desktop. But there are some things that would make me happier: Improved tabs in Konqueror, better support for transparency in X, and a sound system with mixing capabilities that don't skip and that has no delay. I don't know if there is an ideal desktop, and I certainly don't know how far away it is. But I'm sure that Karamba will be part of it. :)

9. What kind of hardware do you have and what OS do you use?

I have an Athlon XP 1800+ with 512 MB RAM. I use Red Hat 8.0 but, e.g., XFree86, glibc, and gcc is from rawhide and my KDE is from CVS HEAD. So I guess it's more like Red Hat 8.5 or something. :)

10. Any final thoughts and comments?

I just want to wish Ralph M. Churchill, Adam Geitgey, and Matt Jibson good luck. They are currently the people behind Karamba's recent move to sourceforge. This will hopefully make Karamba to gain some momentum.

Best wishes for the future and many thanks to Hans Karlsson for
starting the Karamba effort as well as taking
the time to answer our questions! =)

Dot Categories: 

Comments

by fault (not verified)

It's good to see karamba/super-karamba/karamba-rss merge into one project.

By the way, are we going to see a graphical editor for new sensors, such as the one in Samurize?

by Jean-Pierre (not verified)

The *Karambas are all a Konfabulator clone (which itself is a clone of Stardock's Object Desktop which exists for years now).

Are there any plans to change the API of *Karamba in a way that will make the "porting" of the already 280+ existant Konfabulator widgets easily portable under KDE?

http://konfabulator.deskmod.com/?site=konfabulator

by fault (not verified)

not to be nitpicky, but actually, Karamba is a clone of samurize, which is the successor to CureInfo..

and CureInfo existed before StarDock or konfabulator ever existed :)

by Eric Laffoon (not verified)

Stardock has been around since the early 90s when it began introducing games on OS/2. They introduced Object Desktop in the mid 90s around the time win95 came out and was actually seen in TV ads for OS/2 3 Warp. Is CureInfo that old? I do recall though that it provided a custom toolbar, sensor widgets and custom window decorations... nothing actually writing on the screen.

by fault (not verified)

Ooops, change StarDock with ObjectBar in my last post, and there you go :)

StarDock's ObjectDesktop for OS/2 and for win32 are not the same, by the way. The only part of the win32 OD that was actually released before 2000 was WindowBlinds. Most of the rest came out in 2000, but didn't really mature until later.

Yeah.. cureinfo's main purpose was to put things in the start menu or taskbar. However, later on, there was a version called CureInfo 2k which let you put transparent information on the desktop with the new GDI extentions present in Windows 2000.

by Mario (not verified)

Karamba really is the best thing to hit KDE-LOOK.org, in my opinion it is not just eyecandy, but it can be put to real uses. Of course, Karamba is at the very beginning of its life before it can really stand out from its competition on other platforms, but its already looking very nice. I hope this project really gains momentum and developers.

What I would like to see is a combination between these :
http://www.stardock.com/products.asp (truly the best of the best when it comes to desktop customization for windows, this is soooooo cooool)
Samurize
Konfabulator

by Super PET Troll (not verified)

I think its sort of a "transition" application. I mean, sure you've got your OS-X dock rip-off called TuxBar and its cool but it's too slow. I have a 750Mhz Athlon with 256MB of RAM and a GeForce MX420 -- granted no where near bleeding edge but it should be decent. However TuxBar runs slow enough that it's annoying. Karamba as a "sensor" output program is probably where it should stay.

In order to really implement TuxBar, it should be a C++ application, not the current Python+Karamba. Maybe karamba ought to have its functionality exposed as a library as well as a Python object. Then someone could implement scripts, along with KDE's new RSS capabilities, as a compiled application which will run a lot faster. Should I start practicing what I preach, yes I probably should. Will I do it, maybe :) That all depends on how much I like deriving equations from ASM charts and FSM graphs.

by anon (not verified)

TuxBar for those who don't know:
http://www.kde-look.org/content/preview.php?file=5812-1.jpg

Looks terrific.

by Caspian (not verified)

Actually the python/c++ nature of SKaramba works out very nicely. Most of all the hard work is done in c++ libs, not in python, so in reality the python code stays out of the way (for the most part) and isn't a limiting factor to the speed of the program. The people writing python enabled karamba themes just need to realize that they need to be cognizant of CPU usage in their programs (like the C++ coders already do.)

I released a SKaramba theme called kroller, and it uses much less CPU than the original Tuxbar (for an unknown reason). The version I will be releasing today or tomorrow will use about 1/2 the CPU of the current version, and I have plans to release a version that will hopefully use at least 1/2 of that sometime in the next few weeks.

I think that right now the people writing karamba themes aren't worried about CPU usage, it's all about "ohh! look what I can do!", and not really about making CPU effecient programs. With time these themes (and karamba itself) will mature and I think we'll have an awesome addition to the KDE.

With that said, it would still be very cool to have SKaramba's functionality exposed as a library :)

by regeya (not verified)

Try the SuperKaramba bar; don't remember what it's called. I have run it on a k62-350 and have it run reasonably fast; your Athlon should be able to handle it.

Having said that, I agree that this isn't the best way to implement a dock; anyone who has used the "real" Apple dock would scoff at this.

by TinWeasil (not verified)

TuxBar runs slow? Great! It will be a terrific emulation of how fast the dock panel runs on my daughter's iMac!

by Andrew (not verified)

Yeah...ok, why are you posting on this forum? If you don't know, this is for a Linux program...

I think SKaramba does wonders. Yes it has its weaknesses, but those will be fixed. Just be patient. Code maturity will come. Plus, if you have a problem with a program, maybe you should stop complaining and contribute more efficient code. It is open source after all...

by TinWeasil (not verified)

Wow. It's been well over 17 months since I posted that, and it's taken this long for someone to reply!

I am fully aware that the discussion is about a Linux program. My comment was a joke. Since Tuxbar was said to "run slow" I was simply pointing out the fact that it would run about as fast as the Mac dock panel runs on my daughter's old iMac.

I wasn't complaining. Just making a joke about older hardware. Sorry if you were offended.

by Anonymous (not verified)

This guy gets more and more involved into KDE, does anyone know who he is? :-)

by Navindra Umanee (not verified)

I think he is related to qwertz. ;-)

by Datschge (not verified)

Nah, I'm independent. =P

by Eric Laffoon (not verified)

> The work with Karamba felt more like a regular job than the fun hobby I wanted it to be.

Hmmm? It was really fun at first and then... I remember that fun feeling. Imagine how I felt when my partners left the project and I had never previously coded C++. Fun? There was the politics and the nasty emails... Then a few months later I lost my mom. In the process of learning the QT/KDE APIs and our code base I was fortunate to find Andras. Quanta has become very popular. I don't think it gained popularity quite as fast as karamba. At least there were not as many users back then. Currently Andras works on it full time, there are many contributors and it eats huge blocks of my time. Our motivations are different.

Along the way I found something else that felt really good. It was the positive feedback from the community.I started to believe that what we were doing had to be done because it needed to be done, and if not us than who? I'm not knocking the author's position of coding for a fun hobby. I'm just saying that in spite of the challenges there are other rewards. In the end there has to be someone at the helm of an open source project or it dies, despite popular mythology about never losing the source. Source gets outdated fast around here.

BTW I'm using Karamba and I really like it and recommend it. I wrote a Kommander dialog to switch the cities I get the weather for. ;-)

by Ralph M. Churchill (not verified)

I'm one of the new maintainers for Karamba and creator of the RSS patch. We've been in brief discussions with the maintainer of SuperKaramba and it looks like, at this time, we will NOT be merging the code bases. Mainly, I think, as projets we have different aims. Hopefully in the future a better separation between the Python and C++ portions can be established and the projects can co-exist or intermingle.

With that being said, we're in the early stages of getting the project setup on SourceForge. You can download the last version Hans created, 0.17, from SF right now: http://sourceforge.net/projects/karamba Hopefully, we'll have some more stuff up soon (including a new version with my RSS patch integrated). After that I plan n just working through some of the items on the TODO list, etc.

Also, I think there is interest in maybe enhancing the extensibility of Karamba -- making it easier to add non-core functionality. Maybe through "plugins", etc. Anyway, lots to do! Please feel free to post to the SF forums or drop us a line. Thanks!

RMC

by Rodion (not verified)

This really doesn't make much sense at all. In what ways are the aims of Karamba and SuperKaramba different? Sooner or later, the two projects are going to have to merge, or else one will die off--doesn't it make sense to merge them now and avoid wasting time before the inevitable?

by Dave (not verified)

Sure

by HiltonT (not verified)

Hhmmm - a thread entitled Karamba vs. SuperKaramba that totally ignores the aim. Not handy. So, is anyone actually going to dare approach the topic of this thread and actually DETAIL the differences?

- HiltonT

by Miles (not verified)

I guess not, huh? and here I am, after googling "karamba vs. superkaramba" months later, and void of information because of it!

For shame!

by Datschge (not verified)

Karamba uses perl for its theme scripts while SuperKaramba (without space gets you more hits when searching) mainly uses python instead.

by Evan "JabberWok... (not verified)

For those who might be wondering as to why Look is down and/or slow, Karamba is the lead story on Slashdot as of right now.

by reihal (not verified)

...and I thought the slashdotters where all gnomesters...

by reihal (not verified)

Hasse!
Är det inte dags att få igång en LUG i Lund med omnejd? (Södra Sverige, ej Danmark)

by kidcat (not verified)

Hasse!
Isnt it about time to get a LUG in Lund and surounding areas? (Suthern Sweeden, not Denmark)

by Patrik Grip-Jansson (not verified)

Darn! You cracked the secret code!

by teatime (not verified)

jo.

by reihal (not verified)

Bra, då ses vi på Internetkafèet på Lilla Gråbrödersgatan, lördag 10:e maj kl 16:00.
Ok?

I like karamba and superkaramba very much from an eyekandy perspective. My main problem with tuxbar style bars is not cpu useage but the fact that they get covered by windows. The rollover effect in kicker is pretty lame compared to that nice svg zoom . So what I was wondering is if there are any plans to improve kicker to give it smoother icon zooming effects? Or any way to prevent windows covering tuxbar when they are maximized? Any, thanks for all the nice cpu chomping eyecandy folks!

SVG zoom? I think that you're dreaming.

by Vito (not verified)

Okay, so I really like this app, my only problem is it looks like crap under GNOME are they any plans to run the app, under gtk+ thanks.

by anon (not verified)

You should be able to run it under KDE. Your GNOME apps will still work.

by Uranus (not verified)

that wasn't the question, now was it?

by anon (not verified)

It's a good answer though, isn't it? Why not go troll on a GNOME site?

by D. A. Stone (not verified)

It should run just fine, you'll need to have QT and KDElibs installed, though, for some things to look right...you don't need the entire KDE package, just the libraries (which depend on QT)...

by fault (not verified)

Karamba relies on the krootpixmap class in kdelibs/kdecore, which relies on kdesktop. So.. you need to either make it get the bg from elsewhere, or run kdesktop.

by anon (not verified)

This just makes me fall in love with KDE all over again. So simple, so easy, so powerful.

/**
* Creates pseudo-transparent widgets.
*
* A pseudo-transparent widget is a widget with its background pixmap set to
* that part of the desktop background that it is currently obscuring. This
* gives a transparency effect.
*
* To create a transparent widget, construct a KRootPixmap and pass it a
* pointer to your widget. That's it! Moving, resizing and background changes
* are handled automatically.
*
* Instead of using the default behaviour, you can ask KRootPixmap
* to emit a @ref backgroundUpdated(const QPixmap &) signal whenever
* the background needs updating by using @ref setCustomPainting(bool).
* Alternatively by reimplementing @ref updateBackground(KSharedPixmap*)
* you can take complete control of the behaviour.
*
* @author Geert Jansen
* @version $Id: krootpixmap.h,v 1.14 2002/03/08 18:01:07 rich Exp $
*/

by Vito (not verified)

I was not trolling sorry, I was / am not aware of the working of KDE I had no Idea that it was kwin that was causeing the app to show black instead of my background.

I love the application, but am set in using GTK for now.

Thanks for the info guys!

by anon (not verified)

You don't understand, KWin isn't causing anything. You can keep running your GTK apps in KDE.

by gtk guy (not verified)

anon: you don't seem to grasp his question.
vito: it *should* work under gnome, I've seen it work under Waimea, so presumably it should work under gnome, assuming the proper libraries are installed. I'm obviously not knowledgebase on kde, but this karamba is one cool piece of software. Still wouldn't make me switch to kde tho (I use Waimea just so you know anon)

by gtk guy (not verified)

Has same problem as Vito's under Waimea. Using ESetRoot for the background. Otherwise works fine

by Orclev (not verified)

I also like Karamba, despite some problems I'm having with it (seg faults when using rss output from slashdot), and it requiring KDE. I don't really have anything against KDE, and I use things like KMail fairly often, I just prefer enlightenment as my window manager (without gnome btw), which is where the problem comes in. Since enlightenment uses its own background daemon, and karamba needs kdesktop to render its background, I can't run karamba under E. I wonder how difficult it would be to get Karamba to fetch the desktop background from something other than kdesktop?

by Richard Moore (not verified)

It would be easier (and a much better idea) to make enlightenment publish its background in way compatible with KRootPixmap, that way anything in KDE that uses it for transparency would work nicely with enlightenment.

Rich.

by Valentino Crosa... (not verified)

Is there a workaround for using karamba with enlightenment and still get transparency? I like enlightenment and my only interest from kde is superkaramba

thanks.
Valentino Crosato Jr.

by anon (not verified)

Not unless you use kdesktop.. you can try gdesklets, which doesn't depend on KDE's background mechanism

by Valentino Crosa... (not verified)

Ive tried:

1- enlightenment
kdesktop --x-root
superkaramba

# result: still no transparency, black background on superkaramba
# and no enlightenment (left,middle,right) click menus

What is the right way to do it?

thanks
Valentino C. Jr.

by André (not verified)

There is nothing wrong with a look on a windows theme page like customizer.com

wallpapers can be used on every machine.

by cybereal (not verified)

Ok, I like the idea. It's a really cool idea in many cases. It's like "Hey, I've now got active desktop on crack for linux" yeah sure... whatever. But it has serious flaws. For example, last time I tried it, I had this tight looking little control bar thing with the kmenu and such all on it, it was nice looking, and functional, but, EVERY SINGLE SECOND, it would cut into the cpu usage something like, 40 percent. And that's an underestimate. *YOU* go play quake3 with 40% cpu and some hard drive usage going on every single second... dead yet? Yeah, that's what I thought. Ok, that's fine, it can be fixed with proper idle calls and implementing the common features internally and in python script instead of external apps. Ok, so we know *HOW* to fix it. Nod if you understand... ok, now, for the second, truly very annoying problem. I love the feature in kwin that allows windows to auto-attract to each other, I can't remember what it's called, but, I don't care, they basically snap together, and that's nice, helps me keep things well organized without much effort. But, heh, why in god's name do my windows need to snap to the real border of a karamba item? I cannot possibly be the only person who has noticed this extreme bug... ok fix those two things and I'll be sold.

-picky bastard