Posts Tagged ‘Mailody’

Akonadi meeting: day 1 and 2

Friday was arrival day for most of the pim-people. Once everyone was in, we started with a demonstration about Lionmail from Sebas. Basically that is a plasma applet showing mails in Akonadi. So after KMail we now have Mailody and Lionmail. Sebas shared his experience in building it and it is great to see Akonadi being flexible enough to be able to create new mail applications quickly. Although a full blown mail client requires a lot of effort, I think in the future we will see some more new mail clients which are maybe specialized for some specific task or way to operate.

After that the RSS/Akregator people explained their current problems and difficulties. You can read more about that on the Techbase page. After that I recall we had some discussion about points Stephen has brought up.

It was actually at this meeting I got to understand that the model Stephen is working on is a really cool model. It is able to merge collections and items into one model, which he needs for porting KJots to Akonadi. But it is also has lots of stuff for lazy loading. So if you have a folder with 1000 subfolders, it will only load these in the tree when you expand the main folder. There has been going a lot of time into this model. Probably not the most rewarding job as it is not very visible for the average user.

On saterday there was plenty of room for hacking. People starting working simultaneously working on a pop3, mbox and the imap-resource. Which gave a competition like atmosphere where people were betting on who would be first to show the mails. You can imagen it is extremely productive when this happens all at the same time.

After that we discussed the state of the ports for KAddressBook (or actually its successor KContactManager) and KOrganizer. Both are planned for KDE 4.3.0, which starts freezing pretty soonish, so we have to hurry a bit to reach that deadline. Luckily KDAB will support this port with some more resources, so it should be possible.

Later that evening some Trolls came by to say hi and play some table soccer. I’m pretty sure the PIM people won ;-). Although Danimo won convincing from me in a one to one battle. I realized I’ve missed doing it. Last time was probably 15 years ago, when I still studied. Now we get a bigger office, it is worth considering it ;-)

Akonadi meeting: day 0

Some days are great, some go less smooth. That was yesterday. I had planned to wrap up some lose ends at work today and travel to Berlin later on. It became a hectic day. Work was stressful due to two server failures. And I barely made it out on time to catch my train. I was on time at the station, but that could not be said about the train. It ran with 15 minutes delay to Utrecht. When I entered the station main hall of Utrecht, there were something like 40,000 (ok, i can not count, but it was crouded). Trains towards Arnhem did not run. And guess which direction I was heading….

At some point the station came to a full stop. All train announcements were removed and nobody had any idea what to do and where to go. It brings a funny weird atmosphere and strangers talking to strangers, being cynical about Dutch railways and stuff. 40 minutes after my ICE was supposed to depart from Utrecht, there was an announcement that the train would arrive at another platform. So everyone ran to that platform where the train was already arriving. The announcement when the train left was that the train was traveling with a delay of ’52 minutes and 30 seconds’, which was ridiculously precise and brought a smile on most faces.

In Arnhem, Sebas jumped on board and explained the ins- and outs of the ICE seat placing system. Nice info. So we arrived in Duisburg 50 minutes late, which means the connecting train to Berlin was gone for like ten minutes, luckily there was another one an hour later, so we had a chance to eat something. Something I wanted to do in Utrecht, but that queue was simply too big, and I was too stressed to really think about it. The train to Berlin was great, smooth, comfy and it was nice having the time to talk with Sebas about all kinds of aspects of KDE, and Sebas’ Lionmail and my Mailody. Probably some more info later on this weekend.

Random bits from Osnabruck: day 1 + 2

In the afternoon of day 1, we started plotting the work we would like to do for the 4.3 and the 4.4 release. Basically, we would like to start porting KAddressBook and KOrganiser for the 4.3 release and KMail for the 4.4 release. That seems like a lot of work, and realistically it is. But the thing is, we need to do it, so we better get our hands dirty soonish. Porting KAddressBook is not the right description. We will have a new shiny one from scratch for the 4.3 release. I’ve seen the first bits of it and that will be just fine.

Also we will have a new IMAP-resource for the 4.3 release, that means my reliable hand written IMAP resource is going to be trashed. Although I have also known it was due for a rewrite – actually I was preparing that by making unit tests, so I could make sure it worked after the rewrite – I still will remove a tear from my eyes when that day arrives. It is still working well for me in Mailody3 each and every day. But I can’t beat the quality of the KDAB-people so, I’ll let them to their trick and the nice thing is that I can use that in Mailody without code changes due to the Akonadi framework.

I’ve decided to do no releases of Mailoady during the 4.2 timespan, due to a couple of reasons. You would expect me to write them here now, right? wrong ;-)

Anyway, back to the meeting. After that discussion we went out to eat something, had discussions during dinner about FSFE, de elfstedentocht, desktop clients for CRM-applications, the internals of Groupwise and Domino. Hmm, next year we should try Cars && Women maybe ;-)

After that we went back to our hacking spot for a bit more. The next day we had a short meeting about the current state of the pim-related websites. Which is basically horrible. We created a plan for the future and will probably execute it somewhere in the next month. You would expect me to write them here now, right? wrong again.

I’m not in the mood for details today. Maybe later. Now it’s time to relax. It has been great days, thanks to Intevation for hosting and organizing the meeting for the 7th time in a row.

Akonadi meeting: day 2

Today started with the usual thing in the morning, a breakfast. Everyone was pretty cheerful, we did not end that late in the night. I wonder if that has to do with Tobias not being around ;-).

After the usual email checking and writing down whatever has come up during the night, we went on to do the KMime review. Stephen has made kind of a wrapper for KMime, which is the library Mailody uses and KMail should use for dissecting incoming mail messages, splitting out attachments, showing a certain part etc. It is also used for composing messages, which is the relevant part here. A mailcomposer usually has settings like the addressees, attachments, crypto settings, etc. Stephen’s classes easy the work to get this to the actual message that has to be delivered to the smtp-server. It works with ‘Strategies’, so you have a signing strategy an attachment strategy, if you provide a html-text, the plain text has to be added with an alternative strategy, etc. Cool stuff.

We also did a developer-feedback round. Every app developer was given the time to ask questions about Akonadi, to see what are the flaws in the API and what can be improved. Also this afternoon we put on the diff between the 4.1 branch and trunk and reviewed all the changed API. Checked for consts, @since 4.2 marks, consistent naming, etc. Only like 3000 lines of code, so that was over quickly, though we did it thoroughly.

Besided these group things we also worked on our own projects. Curious what everyone did? I asked around and this is what they told me: Will worked on Network Manager for KDE4. A bit that’s badly needed in KDE4. He fixed bugs in the usage of KWallet, thought of creative ideas to use KConfigSkeleton to save code. In the meanwhile he also tested the Akonadi Resource Migration from an end-user perspective. Kevin has been working on distribution list support for Akonadi and respective changes in the migration bridges. Thomas has worked on the migration a bit so that the old kresources are now disabled after migration and the new ones are made the default.

The ‘Migration’ is the goal we are trying to reach. In 4.2 it could be that we will switch on Akonadi for a couple of resources. This involved no changes for the applications as there are bridges, so the application thinks it’s dealing with a traditional resource. Of course that means the addresses has to be migrated flawlessly.

Bertjan added support for remote files to the vcard and ical files resources. Also added the shiny overlay widget to the KPilot Akonadi related configuration dialogs. This overlay will becomes visible when there is a problem with the Akonadi server and clearly states the problem. Widgets can subscribe to this overlay, so it gets this message and the original functionality is disabled. This prevents every single widget checking if Akonadi is available. Volker added that a few weeks back.

Volker finished the kres-migrator integration in kresources and worked on getting a kolab calendar working with both compat bridges and Akonadi. Also he answered a gazillion questions about all aspects of Akonadi.

Stephen presented feedback on Akonadi framework gathered while developing kjots plugin. Presentation and design review on new KMime classes which make constructing complex mime messages easier. Review and commit of several Akonadi patches including mixed model for collections and items, many improvements and tests for nice html output from kmail composer (not akonadi related), ate pizza and schnitzel (you understand that the location here is not located downtown Berlin and we have to deal with what we got).

I worked on the widget you get when you want to add a new resource. We switched from a boring KMenu to a shiny widget with iccns and descriptions we had already. It needed some love, and I gave it. I added a quick search widget in kdelibs which operates on a proxymodel, so you can quickly find the resource that you want for example.

Oh, and Thomas tried for ages reproducing a bug in the kmail-soc branch, but that is not akonadi related. Ingo is working on some code to create a shared outbox, messages dropped in there will be automatically send and placed in a send item folder. Igor worked on his testing framework, which will get more space on this blog tomorrow.

RSIBreak beta5 + Junior Jobs + Akonadi Meeting

I released RSIBreak beta 5 yesterday evening. I can not recall ever making 5 beta releases before in my life. Not for digiKam, kipi-plugins, libkipi, Mailody, Akonadi or RSIBreak. But the good news is that RSIBreak is now bugfree according to bugzilla and there is only one Junior Job present, which is good.

I would love to do things like a network sync so you can break together with your favorite colleague which also uses RSIBreak, but that seems to be more difficult than I thought. I browsed through some applications that uses the zeroconf KDE implementation. But it requires to much code for such a feature. I’ll check again in a few years, maybe someone has made a more high level API around zeroconf. Yes, it is the lazy option, I know.

Maybe Junior Jobs in bugzilla need more explanation. I don’t recall being on planetkde recently. Junior Jobs are jobs which are great bugs for people that want to start with KDE development and want to start with some easy to implement features. These are not bugs which the application developer does not feel like implementing because it is boring or only serves a small portion of the users, no.. I leave them open for a while in bugzilla to give people the chance to start with KDE development. So if you want to start developing for KDE, take a look at our list of Junior Jobs on bugzilla.

Next Friday is the start of a new Akonadi meeting. Goal there is to give the Akonadi Pillar a good shakedown for the next KDE release. This should be the release where Akonadi KDE Libraries should be in good shape to be used for everyday usage by users. They don’t have to know they will use Akonadi for their address book, it simply will happen ;-). But before that, we need to make sure we have the stability which is required. We’ve seen all kinds of interests from application developers. Recently I’ve seen KPilot do things with Akonadi, KJots too and the KIPI-plugins team is considering it. For this meeting KPilot and KJots authors will be available, so we can fix any issue they run into quickly. I say ‘we’, but it’s mostly ‘Volker’ btw. Credits where they belong.

I’m also looking forward to get Mailody in shape for a new release. I’ve recently fixed a large set of bugs and I hope that after this weekend I can switch permanently to Mailody4. What might help here is that Igor is flying in from the Amazon area in Brazil (he’s exchanging 30 degrees Celsius for 3 degrees Celsius; talking about motivation ;-)). This summer (that’s actually winter there, right?) he has made an Akonadi testing framework. I’m really looking forward to his presentation to see in what way we can make use of this framework. I’ll make sure I’ll blog from the event.