Imendio, based in Sweden, provides services in application and platform development based for Gnome/GTK+ on Linux, *BSD and UNIX based systems. Today, we interview its founder, Mikael Hallendal (also known in the Gnome developer community as the author of Gossip, Blam! and DevHelp applications) about the business of Imendio, the challenges GTK+ poses and more.
1. Please describe Imendio’s consultancy services to our readers. In what way are you serving Gnome in the commercial space?
Mikael Hallendal: Imendio provides professional GTK+/GNOME support, this ranges from changes and bug fixing on the platform to application development on top of the GNOME stack.
I do believe that we serve a very important part for GNOME in the commercial space since it gives companies a commercial partner when they want to migrate to GNOME.
2. How is the interest for Linux, BSD and Gnome development these days? Over the years of running Imendio, have you seen an increase in that interest?
Mikael Hallendal: Me and Richard Hult started Imendio little over a year ago and we have both been professionally working with GNOME since the beginning of 2001. There has definitely been an increase in commercial interest around Linux and GNOME
during that time.
What I think we see here is only the beginning. Linux gets more and more commercial acceptance everyday and GNOME is a natural choice for companies working in the desktop area.
3. If you encounter Gnome/GTK+ bugs or defeciencies during work, do you actively working on fixing and submit the fixes to the Gnome project, or do you sub-contract Ximian or Red Hat to do so? How does this work exactly?
Mikael Hallendal: Since working on the platform is part of our commercial offer we solve platform issues ourselves. As far as I know neither Ximian or Red Hat offers this kind of services.
In the beginning of September we hired Anders Carlsson. Anders strengthen our offer around GTK+ since he have a long experience in GTK+ hacking.
4. Imendio also develops some freely available GTK+ applications. Are there any big plans for Jamboree, Gossip or Planner, or do they serve as showcases for your clients? Do you have plans to pitch Planner for Gnome Office or add Gossip to the core Gnome desktop?
Mikael Hallendal: Our free applications serves multiple purposes, first they are a great way to serve as showcases as you mention. They are also a great way of trying out new API and staying up to date with what’s happening to the platform.
We also offer commercial support on all our projects, in forms of feature enhancements and intregration into existing solutions. We have only seen any real interest for this with Planner so far, though I think that Gossip might be an interesting application for many companies in the future. I want to focus on more enterprice targeted solutions around Gossip, like adding encryption, better solutions for having meetings over Jabber etc.
Since we use all of our software ourselves, it’s also for personal use.
5. You recently started evaluating C# and Mono while developing Blam!. How did you find Gtk#? Is it mature? Fast to develop? Interesting? Would you recommend it to new Gnome developers or to your clients?
Mikael Hallendal: I found developing with Mono and Gtk# to be a really nice experience. I would say that it’s very mature and a great way to develop applications for GNOME. I developed the first version of Blam in about a week of hacking and have since spent a couple of days updating to Mono 1.0 when it was released and fixed a few issues. So I’d say it’s pretty usable for developing applications fast.
Whether it’s the right tool for the job really depends on what you are developing. From what it looks like some important distributions are not planning on shipping Mono so if you want your application to be included there at some point it’s probably not the best solution.
As for recommending it to customers I would probably not do that at this point due to legal issues that no one seems to be able to give a straight answer to.
6. Which distro do you normall use? Do you standardise on a specific distro when you serve clients and specifically test for it? What kind of tests do you employ to test your engineering work?
Mikael Hallendal: We use both Red Hat 9, Fedora Core and Debian on our machines. I currently run
Debian PPC on my laptop that I use for most developing these days. What distributions we use when developing for clients is based on their requests.
7. What would you like to see change in Gnome and/or GTK+ from a developer’s point of view? And what from a user’s point of view?
Mikael Hallendal: As a developer I would like to see a nice higher level language such as Java or C# being more integrated with the platform. A nice integration to all the desktop with such a language would really improve GNOME as an application development platform. This together with a nice and powerful IDE would make developing applications on GNOME much more efficient.
Most of the parts I’m missing as a user are being worked on or was included in GNOME 2.8. Most noticable HAL and the volume manager, it’s nice to be able to just plug your camera in and have GThumb automatically import your photos,
*finally*.
Another thing that I really miss is syncing with PDAs. I’m terrible at remembering appointments and having good syncing with PDAs would really help. That together with a nice stand alone calendar application, like iCal in Mac OSX. So if anyone has time that might be a nice application to build on top of evolution-data-server.
8. What is your opinion on Qt and KDE? Do you see their platform as a competitor for your business or as a parallel ally to a greater cause?
Mikael Hallendal: I can’t say that Qt and KDE has any direct impact on our business but in a way it’s probably a competitor to us since some potentional customers might choose Qt over GTK+ and go to some other commercial partner.
The fact that GTK+ and GNOME are LGPL makes them great for a lot of companies to build upon and I think that’s a real winner in the long run.
As for Linux on the desktop I think that it is great to see freedesktop.org earn so much trust from both GNOME and KDE. This is really necessary for Linux to gain acceptance on the desktop. In the current situation I think KDE and GNOME attracts different people and together we reach a broader market so that’s good. I also believe in competition and that it really pushes both projects to do better.
I can’t seem to successfully configure Jamboree 0.4 on my Mandrake 10.1. It reports that it can’t find GStreamer 0.7. Any pointers?
Jon, we just released 0.5 that will work with GStreamer 0.8.
http://www.imendio.com/archive/press/projects/jamboree/20040928-jam…
Gossip and Devhelp rocks! Excellent job folks!
Since i first tried Imendio free products, like Gossip, Blam or Planner, I was very pleased with the effort they put into making nice, simple interfaces that “just work”. Good job, guys! Amazing job!
These guys have the best job you can get: Getting payed for working with Gnome! I hope their business will be really successful.
Best damn IM app available, I just wish I could make it annoy me some more when a new message arrives, I don’t always have my headphones on and the notification tray is easy to miss. Hopefully this will change when we get proper notification services in GNOME.
Aside that I love the app, so much so that I took maintainership of the danish translation for it.
what’s the point of Jamboree? It looks (and probably works) just like rythmbox, which is included in Gnome by default. Was it started before Rhythmbox, is there something Hallendal sees wrong with Rhythmbox, does he want expirence with Gstreamer, or is it just an itch? Not trying to be an asshole here, but it looks like the old “reinventing the wheel” application.
Rhythmbox isn’t included in GNOME by default, I think Jamboree started as a test to see how fast gtktreeview was or something like that.
First, I’m not the one to get credit for Jamboree, it’s being developed by Richard Hult. If I remember correctly it was started during the time when Rhythmbox was pretty much unmaintained and idle, and as Lovechild mentions, it was also started to try to get the song list faster than it was in Rhythmbox.
It’s a completely different codebase than Rhythmbox and since it’s as mature as it is and both me and Richard uses it, it makes sense to use it to just add the stuff that we want in a music player.
They could use wxGTK
I haven’t tried it (so maybe someone could clarify) but my impression is that debugging through all these layers of toolkits is difficult. If you write a program in wxGTK, and you need to debug, aren’t you tracing calls through wxGTK –> GTK+ –> GDK –> X11? That just seems like a pain.
If you are already tracing through GTK+ –> GDK –> X11 then you only have one more layer on top of it (wxGTK), however you can use some (not all) C++ techniques which will speed up the coding (there’s always a trade off). Plus wxGTK code is quite easy to port to Windows. However if you program in straight X I can only say that I feel sorry for you .
Forgive me for this as I am somewhat of an enthusiast, but I’ve noticed that Python has been trying to fill the niche of “high level language integrated into Gnome/Gtk+”, but the discussion is almost always about Mono or Java. There is yet to be a real ‘killer app’ written in PyGTK as far as I know; although almost all of Fedora’s distro specific tools (like Anaconda or many of the preference dialogs) are written in it.
However, it is still rarely mentioned; is the reason for this speed or ubiquity? The gnome-python bindings and PyGTK are not part of gnome-propper yet as far as I know, but it does ship with many distributions.
>>The gnome-python bindings and PyGTK are not part of gnome-propper yet as far as I know,
pyGTK is but gnome-python dosent have a maintainer ATM.
I agree, stop talking about Java/c# people, Neither are going to make it into Gnome.
I personally think Python has the best chance, but thats just me.
Totally agree!
What about D???
🙂
What about D???
D isn’t mature yet and it doesn’t has more platform support yet too. Mono and Java support more platform than D does such as 64bit, BSD and etc.
>>Forgive me for this as I am somewhat of an enthusiast, but I’ve noticed that Python has been trying to fill the niche of “high level language integrated into Gnome/Gtk+”, but the discussion is almost always about Mono or Java. There is yet to be a real ‘killer app’ written in PyGTK as far as I know; although almost all of Fedora’s distro specific tools (like Anaconda or many of the preference dialogs) are written in it.
I don’t know if this qualifies as a “killer” app. I never use the term but I understand the context when it’s used. Check out http://gramps.sourceforge.net . It is a great genealogical application to build and keep track of your family tree. It uses python, gnome-python, and pygtk2.
Mikael, in your opinion is GTK+ mature enough to replace motif in most applications? If not in what areas is it defficient.
Have you considered providing porting services from Motif to GTK?
I believe that GTK+ has been mature enough for a long time. As for porting applications that’s one of the services we provide.
People don’t consider Python in the same category as Java and C#. Because of its static typing Java and C# is more of a systems language. Python is being considered as an official scripting language.
http://lists.gnome.org/archives/desktop-devel-list/2004-September/m…
http://scala.epfl.ch/
looks promising
Lamebug,
That’s silly. In GNOME today, there are more applications written in Python + GTK than there are in Java and C#. Static vs Dynamic typing is a retarded argument with regards to application development.
If anything Python’s dynamic typing gives its users a higher level of productivity and RAD and prototyping over other higher level languages like C# and Java. I see Python becoming the de facto higher level language in GNOME.
Python’s advantage over Java and C# are as follows:
1). It’s less verbose
2). It doesn’t get in your way
3). Can be used for scripting
4). Can be used as an object oriented language
5). Can be used as a functional language
6). Can be used as a procedurial language
7). Can be used as an aspect oriented language
8). Doesn’t force users into any paradigm of software methodology.
9). Dynamic typing — boosts productivity exponentially
9). Unbelievable amount of built-in and 3rd party libraries.
11). Developed by a community of open source hackers with visibly no socio-political/economic/corporate agenda. i.e Hackers determine what goes in and out of the language, not some markerting manager at SUN or Microsoft.
12). Integrates powerfully with C(import for GNOME) and C++. Python modules can be written in C/C++.
As you can see, it fits perfectly into GNOME as a higher level language, and that’s why it’s the most popular language on that platform, second only to C.
And to the person who said, python-gnome doesn’t have a maintainer, that’s incorrect. Its maintainer was on the desktop developer mailing list just yesterday.
MyStillWrong,
Since you obviously didn’t know what you were talking about last night in the Gnome 2.10 article, it’s hard for anyone to take you seriously regarding your technical knowledge. Did you even read the link that I posted.
Java/C#/C++ is considered as a Gnome “systems” language. Infrastucture work. Python is being considered as an application/applet level scripting language. Because of the dynamic nature of languages like Python, Lua, etc… they won’t be getting the kind of performance needed for infrastructure work like c/c++/Java/C#.
Lamebug,
You never cease to amaze me. The core of GNOME will continue to be written in C. And when you mention performance, please don’t associate Java or C# with it. Talk about technical knowledge.
Touting Java and C# as performance languages or infrastructures tells us so much about your technical prowess.
Lamebug,
Oh, and C remains GNOME’s core language, not Java or C# or C++. As clueless as ever you remain.
MyStillWrong,
Are you capable of following links on a web page? This is from Havoc Pennington not me. Whether you like or not because of some brain-damaged hatred of corporations, Java and C# are considered systems languages because of their relative high-performance…..typically within 10% of C/C++.
Lamebug,
Perhaps you need to reread the whole mailinglist. Because I’ve read all the discussions that list regarding the topic. Heck, I’m even a subscriber to the list. C# sharp may be considered a system language in Longhorn, but in GNOME and most of unix, neither C# or Java are considered system languages. You must be new to Unix, aren’t you?
There are extremely, and I mean extremely, few desktop applications written in C# and Java. However, I don’t know of any core system framework written in C# or Java, at least on Unix, or even on any other platform for that matter. Do your homework before posting here, really.
Finally, neither Java nor C# are considered free languages by the GNU. Let me remind you that the G in GNOME stands for GNU. It will be a cold weekend in hell before either replace C as core system components in GNOME. I’m being realistic, you on the other hand are just wishfully thinking.
Once again, if you had bothered to read the actual link then you would have seen that it was Havoc Pennington that was “considering” C#/C++/Java a systems language as Python as a application-level/scripting language.
By the way I was programming on linux professionally (www.jbmelectronics.com), when you were probably still in junior high (noticing your .edu ip).
The G in Gnome might stand for GNU, but your dear leader comrade stallman doesn’t have any say in what goes on in Gnome. RedHat has more pull than anybody else. Maybe you need to reread the mailing lists and other sources (including this actual interview) to see how popular Mono is with gtk+/gnome developers.
It will be a cold weekend in hell before either replace C as core system components in GNOME.
Once again, Havoc Pennington has stated that if Sun would tweak the license then Java would most likely be adopted as an official Gnome language…not a “cold day in hell”.
I’m being realistic, you on the other hand are just wishfully thinking.
Haha, I could care less what Gnome does or doesn’t do.
Lamebug,
No, I was probably doing my post graduate program when you got your first job. And from your childish nuances and the manner you comport yourself, I doubt your are as experienced as you claim to be.
And if you don’t care about GNOME why the hell I’m I wasting my time with you again. Havoc doesn’t dictate what becomes of GNOME. If you knew anything about Linux and how open source software operates, I wouldn’t be enlightening you again.
And if you actually went through critical thinking course in College, you’d see why Java and C# is null and void as core parts of GNOME. But, that’s right, you don’t know and you don’t care. Ignorance is bliss.
No, I was probably doing my post graduate program when you got your first job. And from your childish nuances and the manner you comport yourself, I doubt your are as experienced as you claim to be
I’d demand a refund from your university then because its obvious from your posts last night on the gnome 2.10 article that you have 0 technical knowledge on anything related to how programming languages work. Or maybe you got your graduate degree from Stallman’s indoctrination camp.
And if you don’t care about GNOME why the hell I’m I wasting my time with you again. Havoc doesn’t dictate what becomes of GNOME. If you knew anything about Linux and how open source software operates, I wouldn’t be enlightening you again.
As proven by your posts last night its doubtful you could enlighten a pre-schooler.
And if you actually went through critical thinking course in College, you’d see why Java and C# is null and void as core parts of GNOME. But, that’s right, you don’t know and you don’t care. Ignorance is bliss.
Maybe you should have taken a logic course in college because you didn’t back up your claim with anything. There’s no technical reason why certain parts of core Gnome couldn’t be written in C# or Java besides possibly a memory hit since both are reasonably fast….people used to say that C++ was too slow, and before that straight C was too slow. Gnome and KDE are already bloated, might as well bloat it a tiny bit more for developer productivity.
But I wouldn’t expect you to understand technical issues since you proved last night that you have about 0 technical knowledge.
I’d demand a refund from your university then because its obvious from your posts last night on the gnome 2.10 article that you have 0 technical knowledge on anything related to how programming languages work.
haha…who’s the one swearing .NET is the best thing since slice bread.
But I wouldn’t expect you to understand technical issues since you proved last night that you have about 0 technical knowledge.
Sure, and you, the one with infinite technical knowledge, drools over 20 year old technologies mismatched together and called innovation.
If you are the programming guru you claim to be, you’d know by now, that .NET/Java is a rehash of 20 year old technologies found in lisp and smaltalk. What’s even more pathetic is that Java/.NET isn’t any smaller, faster, or technically better than these 20 year old languages/technology they are replacing.
Instead, they (.NET/Java) are slower, larger, bloated, complex, less expressive, less extensive, more verbose and politically and economically maligned. This, Professor Guru, is the framework you so dearly worship. Oh and C# is just Microsoft’s version of Java. Yes, you fell for it sucker!
Reeducate yourself, and take a peak at what the lisp, smalltalk, Dylan environments could do back in them days, and you’d realize the .NET runtime and Java are an embarrassment to todays programming environments. And here comes a .NET shill telling me I have to technical knowledge.
Do you have any idea why .NET was created? If you think it was created to further programming productivity and stir advancement techniques in programming environments you are living in a rock!
And if you think reading about marketing jingles from microsoft.com about .NET and rephrasing them over here at osnews makes you technically knowlegable, then you are an idiot.
Well, I guess since you’ve embarrassed yourself once again you’re trying to change the subject. I’ll just point out a couple things.
haha…who’s the one swearing .NET is the best thing since slice bread.
Never said such thing. Try taking a remedial reading course.
If you are the programming guru you claim to be, you’d know by now, that .NET/Java is a rehash of 20 year old technologies found in lisp and smaltalk…..
Some pathetic attempt to change the subject to programming environments not even being considered for gnome system or application level programming. By the way, to say that Smalltalk is faster than Java or C# once again shows your technical incompetence.
…. more verbose and politically and economically maligned
More gobbly-gook from your Stallman re-education camp indoctrination.
By the way, Mono != .NET. Mono is based on ecma 336 and 337. You might as well quit while your this far behind.
I hope it is evident to our readers why you should be ignored, and why I did so yesterday.
1). We are discussing programming languages and environments for GNOME.
2). You are a .NET apologist.
3). You have no concepts, regards, or respect for GNOME, it’s philosophies, it’s politics, therefore you can’t get why Java and Mono can’t be a part of GNOME through your thick skull.
4). Following 3, your opinions are futile, meaningless and impratical.
5). Mono is a crossplatform .NET. It’s purpose is to emulate/replace .NET in the free software world, not satisfy your repugnant obsession with it.
5). Python is not just a scripting languages, and I narrated why it is a better fit in GNOME than Java and C#.
6). You derserve to be ignored once again, like I did yesterday.
7). You will be ignored henceforth in this thread.
If you don’t give a damn about GNOME, why the hell do you waste other people’s time?
Why are you still typing if I deserve to be ignored? I guess you can’t help but to embarrass yourself. You’ve proven to have 0 technical knowledge and everybody knows it. Maybe you’re better off as a Stallman/GNU philosophy advocate. Leave the technical details to people that actually know what they’re talking about.
Before you both gentleman are through with your mutual wanking session which is totally unrelated to the topic at hand ?
To clearify my position on the subject. I think that we should include Python as soon as possible as part of the development platform. This doesn’t have anything to do with Java or C# though. To me they serve different purposes and I would like both.
I think Python is a nice language (I’ve got Komodo open right now).
This doesn’t have anything to do with Java or C# though. To me they serve different purposes and I would like both.
Exactly right. Python is something to fullfill the small application/applet level programming while C# and Java are systems level programming languages. The great thing about Mono is that in theory (not sure if IronPython runs on top of Mono yet) is that you could run Java, C#, and Python on top of it.