Posts Tagged ‘Kube’

Kube Campaign: Last Chance

Posted on: August 29th, 2018 by

The proposition of the Kube campaign is the following:

You sign-up now via Kube for a Kolab Now account, and pay only for the currently available feature-set that Kube provides at the moment. The web client will be limited to the same feature-set, but as Kube progresses and covers more features you will also get those features for the web client, while you get to keep your reduced subscription price.

> Continue Reading

Quick keyboard navigation in Kube

Posted on: August 13th, 2018 by

It was already previously possible to navigate through Kube by moving the keyboard focus using tab and arrow keys, however that is neither fast nor efficient. To be able to really blaze through your Inbox we naturally require VIM style keybindings. To move through the UI we want to be able to go through folders, threads and mails using a single key press, without worrying where the focus currently is.

> Continue Reading

Implementing overlapping date-range queries in Kube

Posted on: July 11th, 2018 by

Warning: this post is about me experimenting and researching on the subject, I am not an authority in the matter.

I want my calendar view to be optimized, how hard can it be?

To be more precise, I want the events displayed in a calendar view (week view, month view, etc.) to be fetched quickly from the database, without having to load them all into memory, while not overblowing the size of the database. Some people use their calendar extensively and we do not want to make Kube memory or disk heavy for them.

> Continue Reading

Kube on Mac OS

Posted on: April 3rd, 2018 by

Kube on Mac OS

After a week of getting to grips with how Qt development on mac works and wrangling various build issues, I am pleased to finally report success =)
Kube on Mac OS is alive!

> Continue Reading

Kube’s gained some manpower

Posted on: March 29th, 2018 by

Around FOSDEM this year we have found some fresh manpower for Kube! Please welcome Rémi, who is doing an internship with us, and is working on Kube during that time. He was quick to land his first few patches and is now busy implementing the first few steps for CalDAV based calendaring support.

I for one am exited to see what he will come up with =)

Find your mails with fulltext search

Posted on: February 26th, 2018 by

The most recent addition to Kube is fulltext search. It’s a complex enough topic that we don’t really want to implement it in our key-value store that we use for the rest of the data, which is why we’re using Xapian to do the heavy lifting.

Kube is an offline capable client, and as such we also want search to work without an internet connection. However, we naturally can only search the data that you have available locally. Normally this means we’ll have subject and recipients indexed for all your mail, and the complete content for all mails that you have every viewed/downloaded.

In the long run we’ll want to extend that with server-side searching for when you’re connected to the server, so that you could indeed search through all your data, without having to first download it all. But that is a task for another day.

So here it goes; Fast as you type searching of your emails:

Searching a folder with 50k messages.

For more info about Kube, please head over to About Kube.

Using and abusing memory with LMDB in Kube

Posted on: February 13th, 2018 by

When synchronizing a larger folder in Kube, you’ll notice that the memory usage is growing at an alarming rate.

Surely something must be wrong? Let’s dig into that.

> Continue Reading

Testing and prototyping in Kube

Posted on: February 7th, 2018 by

To build a reliable product it is essential that we build ways for us to ensure that what we build also works as expected.
In its simplest form that means that you try what you build, the assumption being that if it works for you, it works for everyone.

  • By now we all know that “works for me” is not enough, but there are also a variety of additional challenges;
  • It’s not enough to only test when a feature is first implemented, the tests need to be repeated regularly to ensure nothing breaks that once worked.
  • There is a balance to be struck between over- and under- testing. Tests need to be of high quality and have to be maintained with the system, otherwise they become a burden instead of an asset.
  • The right things need to be tested. Test things that are too trivial and you end up with loads of tests with little value (but a maintenance cost). Test things that are too complex and your tests become fragile and don’t tell you what broke, making fixing it harder.
  • The testenvironment needs to be realistic enough so we test the right things (e.g. we don’t want to test the internet connection typically), yet also removes the bits that we don’t have under our control, so we test our system only. That ensure that the test remain reliable and are fast to run (so they are run regularly).

> Continue Reading

Error feedback in Kube

Posted on: November 8th, 2017 by

One of the most frustrating user experiences is when you get an error message that you can’t do anything about, or even worse, that you don’t even understand.

While it’s very well possible that the error message is entirely justified, wouldn’t it be great if the system didn’t just tell you that something is wrong, but also what you can do about it? Error messages can be even more infuriating if they block you from doing your work even if they are not directly related, thus interrupting your workflow unnecessarily. Wouldn’t you rather have a notification that something does not work as it should, while otherwise letting you go about what you wanted to do, instead of just popping up a blocking popup that you have to click away before you can do anything else?

That’s what we’ve worked on last week.

> Continue Reading

The beginning of an HTML editor

Posted on: October 24th, 2017 by

Kube recently gained a very basic HTML editor. It just does bold and cursive so far, but it’s a start for a more fully featured editor.

Of course you can also just continue to write plain-text mails if you prefer.

Enjoy =)

For more info about Kube, please head over to About Kube.