FOSDEM

My employer, well actually mainly Kris, would like me to do talks on conferences. The problem is, however, that I don’t feel like I have a lot to talk about. I can of course jump the stage and talk about whatever I know a little bit about. Which is what most conference speakers do, I guess. Another problem is that FOSDEM will happen sooner or later: Kris will likely again ask me whether or not I submitted a paper.

So the question. What should I talk about? By now I think people have had enough custom treemodel stuff from me. I could talk a little bit about how to get started as an evolution contributor and how you could earn some bounty money by doing that. But then again, it looks like these days nobody likes the evolution code anyway. Tinymail is unfinished and not yet worth a conference talk. Gnome-schedule is way to simple. If I’d do a talk about deconf, people would throw large objects at me, would start yelling and would put the building on fire (just take a look at the xdg-list if you want to know what a heated subject like that can do). And finally codegen can’t yet generate GObjects (which can change, of course). And again, some people would throw large objects at me if I’d do a talk about a .NET subject. Especially Kris, the guy who wants me to do talks, would.

So basically, I have nothing to talk about :p. Lucky me!

Anyway. I will be at FOSDEM. That’s for sure. This year, a developer room for Gnomies is arranged (and else, we’ll just steal/take/pick a room. Right?)! Brussels is easy to fly, drive, travel, etc. And they say we Belgians have great chocolate (and the Belgian chocolate is, of course, much cheaper in Belgium), waffles and good beer. So let’s all be there :p! Jeff has setup this wiki page. You can fill in the attendees page if you’re coming.

Tinymail & Camel

Wow, it looks like I’m taking that TinyMail thingy serious. It’s the second evening in a row that I’m working on it. That’s a good sign!

Probably because I’m learning (learned and now enjoying) how to use the GTypeInterface stuff of GObject and Camel with it.

I’ll guide my blog readers through to idea. Note that all subversion URL’s might change as the subversion repository is just a temporary one.

The library libtinymail is a small abstract library that defines all types as interfaces and adds some proxy classes. It defines types like “account”, “message”, “body”, “header”, “folder”, “attachment” and the simple relations between these types. It also contains a few proxy classes which might get moved to the implementation library. This depends on how I’ll design my factory. If done fully correctly, I won’t need to depend the proxy classes on the implementation: think abstract factory technique. But I’ll see how far I’ll get.

I’m planning to use the proxy technique like how I used it in the treeview demo of last week, a lot. The experiment will be whether or not camel can cope with a concept that utilises the proxy technique. So far I haven’t found anything in the camel API that tells me that it won’t work. I’m hoping to speak the authors of camel about this sooner or later. NotZed, of you catch me on IRC or wherever: ping me? :-p

The library libtinymail-camel implements these types using Camel. It’s extremely unfinished, but the implementation for the type “account” shows what I mean. I’m not yet testing with the disksummary branch, but if the camel API doesn’t change a lot, the transition to that shouldn’t be difficult, right? My plan is to eventually only depend on that disksummary branch.

So far I haven’t found any reason why camel would be a lot less resource friendly compared to other imap4/pop3/smtp libraries. So for now I’m convinced that camel is a good candidate for mobile devices. And it comes with additional support for many stores and transports. It would, perhaps, be better if it wouldn’t be bundled with e-d-s. I don’t really understand why the evolution team didn’t simply make camel a separate package and let e-d-s depend on it. Rather than putting camel in a e-d-s subdirectory and cut-and-paste it’s build environment into the build environment of e-d-s. Harish, if you catch me on IRC .. please explain :-p?!

Note that the application itself will at this moment not do much useful for a normal user. It’s still to early. Developers, however, might be interested.