31 May 2006
3862
hits

GNOME desktop wiki.. or Pushing way too hard for Mono

Yesterday, some friends pointed me to the GNOME desktop wiki web site. It is about one and a half pages of information explaining what the project is about, and that the sources are located inside the Novell forge site (without a single link to the project page).

At first I could not believe what my eyes were seeing. Let me explain it briefly.. or not, quoting a few sentences from the web site:

" DesktopWiki is a personal Wiki tool for the GNOME desktop "
" DesktopWiki uses MONO and .NET along with XSP to achieve this "

Just in case you don't know it, XSP is a Web Server developed inside the Mono that implements ASP.NET.

So, now that I have put it in context, I'm gonna talk a little bit about it. By the way, first of all I would like to say that I'm commenting this strictly from my personal perspective, it is not related at all to my employer. In fact, all the people that have met me before know that I have been thinking like this since the beginning of the whole Mono story.

Let's start from the beginning. I don't like the idea of using Mono inside GNOME. To say the truth, I didn't like the way in which the project was promoted at the beginning (I bet you remember when the Mono releases were announced in gnome-annouces-list), and from a pure technical point of view, I strongly disagree with the idea of using it inside GNOME.

The reasons are quite easy to understand. First of all, it seems to be more a strategic movement rather than a reasoned choice for a project like GNOME. But well, it is just an opinion and I may be wrong, so I'll skip all the political commentary and focus on the technical points:

A few days ago I met Federico on a conference in the city of Xalapa (Mexico). We talked a little bit about all this Mono related stuff. He basically told me what Miguel and other said me before. The main reason why Mono was started is that developing GNOME applications in C is slow, for example the time that took Ximian to write Evolution.

Call me crazy, but I think it had something to do with the fact that Evolution development began around January 2000, and at that time, Bonobo was in a really early state (its development began in the second half of 1999, didn't it?). So, yeah, if the framework on which you are basing you application is under heavy development it may slow the development of the application down "a little bit".

Another reason to use Mono inside GNOME is the ability to bring Windows developers to the free desktop development field. It sounds nice. I mean, the more we are the better, but actually to me it doesn't sound like a credible reason. What would be the motivation of a .NET programmer to use GTK#? At the end of the day, the WinForms is the standard for him.. and Mono is meant to support it.

Well, it could happen that we end up forgetting the Linux desktop, and being just an emulator of WinForms to run Windows applications (if they do not need to be ported), and eventually running applications like Picasa under Wine. Woohoo!

But, anyway, for me the most important problem is the obvious one. Actually, I cannot understand how people haven't realized of this since the first day. Some days ago I met Vincent Untz on the OSDL desktop architect meeting, in Mainz, and we were discussing this. It was really interesting because he is one of those who hadn't realized that, basically, both GNOME and Mono are the same thing: frameworks; and it does not make any sense to use two frameworks in a single application.

What would be the reason for doing something like that? By using more than one framework, you would end up with more places in which to look for possible bugs, bigger and slower programs and unnecessary overhead. So, choose one framework, but please, just one of them!

It is perfectly fine if people want to develop .NET based Free Software (they only have to consider the additional danger of using that technology), but besides that, it is fine. Of course, it is up to each one to use those applications. For example, if you search in Freshmeat for IRC clients written in Java you'll find 34. But now ask yourself, what is the IRC client you are using? Exactly it is not one of those.

Both Java and .NET are great platforms for developing enterprise applications. They provide fast development and allow almost everyone to write quality software. However, their incursion into the desktop environment haven't been a success at all.

So now.. I agree with the fact that there are a few damn good programs which use both the GNOME and .NET frameworks. That is a fact, nobody can deny it, but there was also hundreds of amazing applications written in Objective C many years before and that wasn't a strong enough motivation to start writing Objective-C applications and rewriting COCOA, was it?

By the way, what scares me most is that, each day we are moving closer towards a "Frankenstein" desktop: a single desktop depending on its own libraries, the Mono ones, the STL, the Python interpreter, the Java virtual machine, and eventually something more exotic like the Ada95 runtime. If we are thinking of conquering the desktop with something like that, I'd better boot Windows and play StarCraft. :-(

So, this whole monologue began because I saw the DesktopWiki project here:

http://www.gnome.org/projects/desktopwiki/

and I did a little test with the source code tarball:

alo:~/tmp/DesktopWiki-0.1.2.0$ grep -ir gnome .
src/AssemblyInfo.cs.in:[assembly:AssemblyDescription
src/AssemblyInfo.cs:[assembly:AssemblyDescription
alo:~/tmp/DesktopWiki-0.1.2.0$ grep -ir gtk .
alo:~/tmp/DesktopWiki-0.1.2.0$ du -sb .
369750  .

and, to say the truth, I didn't like what I saw.. at all. Actually, It seemed like a deception to me. Don't you think so? :-(

So, please, can someone show me how that project is related to GNOME? If there is nobody, I suppose someone ought to move that ASP based wiki project somewhere else.

Comments

Leave a comment

Name:

Comment:


Loading PhotoLog..


Search

 

Twitter


Facebook

Alvaro Lopez Ortega's Profile
Alvaro Lopez Ortega's Facebook Profile