Subscribe to Planet KDE feed
Planet KDE -
Updated: 6 min 30 sec ago

KDE Frameworks 5.15 have landed in Kubuntu Wily

1 hour 9 min ago


KDE Frameworks 5.15 have landed in Kubuntu Wily (to become 15.10).

October Development News: krita moves to a new repository

3 hours 53 min ago

Lots of things are happening! Let’s start with the most important part: Krita is no longer part of the Calligra source code. Krita 2.9 will still be developed inside Calligra, and we expect to do several more releases of Krita 2.9 with bug fixes and performance improvements. In fact, we expect to be releasing Krita 2.9 regularly until Krita 3.0 is done.

Krita 3.0 is now being developed at Clone the source code with:

git clone git://

and push to

The next step will be setting up phabricator, reviewboard, the repo viewer, the github mirror, the translation system and so on.

In the meantime, Krita 2.9.8 is building, and we hope to have a release ready by Monday. It’s a bit delayed, because of the Qt World Summit taking up some time.


Coding on all the kickstarter features is going on apace: the Level of Detail performance feature is nearly done, and Ubuntu Linux users can test it already by installing the krita-lod-unstable packages from the Krita Lime repository. We’re working on Windows packages as well. Having reached this point, Dmitry is now working on the animation feature, following up on the work Jouni did during the Google Summer of Code. It’s mostly  improving and polishing the user interface now, possibly followed by a performance optimization phase.

Qt5 Port
October Kiki, by Wolthera

October Kiki, by Wolthera

Krita 3.0, that is to say, the Qt5 port of Krita has come far enough that it’s possible to actually do some drawing and sketching with it. The Qt5 developers, especially Shawn Rutledge did a real good job on improving Qt’s support for tablets, but… There are bugs in the XCB library that need fixing. This means that tablet handling on Linux isn’t perfect yet, and we haven’t done a lot of testing on Windows yet. And the porting caused a lot of regressions, small bugs, visual issues, performance regressions… All of those need fixing over the next couple of months!

Qt World Summit 2015

Fri, 2015/10/09 - 2:44pm

I hadn't been able to attend the Qt Dev Days since the old Nokia days... My last one was when they handed out the blue N9's. KDE, as a sponsor/partner for the Qt World Summit, had access to a number of passes, and was going to have a booth, and I applied for one. I like doing booth duty and I think I'm fairly good at getting people to listen to our spiel. Here's a report from the trenches!

Monday is training day, and the KDE team didn't have passes for trainings. Besides, it probably was more instructive to sit in the hack room and hack anyway. With about ten KDE hackers around, the room was full and stuffy, but on the other hand, it was like a mini sprint. At the end of the day, I had the kxmlgui framework in a state where I could use it again for Krita without needing to fork it.

Very gratifying was the recognition KDE got on Tuesday, during the intro talk and the keynote by Lars Knoll. We know we're doing a good job stress-testing Qt, and a good job as a community helping Qt develop and grow, and it was good to see that recognized.

Not so awesome was the need another keynote speaker felt to connect to his public by making a little "I won't tell my wife" joke. Not terribly seriously over the edge, perhaps, but unpleasant nonetheless. When can we have a tech conference where speakers don't assume that their public are heterosexual, white, middle-aged married men? I happen to be one of them, of course...

I didn't attend many presentations. Of the talks I attended, both Guisseppe D'Angelo's "Integrating OpenGL with Qt Quick 2" and Olivier Goffart's "Using namespace std:" stood out because the presentation was clear, the information went deep so I could learn something new. Olivier's way of engaging with the public worked really well.

The real meat of the QtWS was working the booth, though. We had a good presentation: nice blue table cloth, two good posters (need to have OS logo's next year, most people thought KDE was Linux-only), a presentation running on a big screen and videos (Plasma Phone, Calligra Gemini, Krita) running in a loop on a nice convertible Windows 8 laptop, together with some software, like Krita Gemini and Marble to show people that KDE's Frameworks are a truly tested technology you can use to create serious real-world technology. Here's a picture Dan took:

That was a story that worked: almost everyone whom I asked "do you know KDE" answered with "Yes, I even used to use it". So I'd go on explaining that KDE is more than the desktop they used to use, but that there's this set of frameworks, full of tried, tested and reliable technology. Some examples later, I'd point them at the inqlude website. KDE really doesn't have a website that 'sells' Frameworks, which is a problem. Inqlude worked, though. I could also help reassure some people that doing a new desktop application with QWidgets wasn't a choice for a dead technology, also by showing off Krita Gemini: QWidgets and QML in the same application, with a seamless switch. All in all, we reached a fair number of interested people and we had a story that appealed and got through.

Wednesday evening, my feet ached and the arm that I had broken just before aKademy was very painful as well, but I was pretty satisfied. Plus, I had a stack of Kiki postcards, and pretty much everyone whom I handed one smiled, no matter how tired they were!

One cannot visit Berlin and skip seeing one of the museums. That's my story, and I stick to it. This time, I went to the Gemäldegalerie. Usually, I visit the Bode Museum, which has some incredible sculpture. The Gemäldegalerie was showing a special exhibition around Adobe's famous Illustrator splash screen's painter. The exhibition was a tad disappointing though.

Botticelli's work was shown together with 19th and 20th century works inspired by him. Some of those works were really interesting, some were boring. Warhol's Venus on an Amiga 1000 is much less interesting than the Amiga 1000 itself. Other works were more interesting, like Antinio Donghi or Evelyn de Morgan. But that's fine: not everything needs to be riveting. More of a problem was the presentation of Botticelli's works themselves: a boring, long row of paintings grouped by subject. As if the exhibition designer was fresh out of inspiration. The central room with the sole two works signed by Botticelli was flooded in a red light that made it impossible to see anything.

Anyway, after the exhibition followed a four kilometer walk through the galleries, with so many great paintings that a certain visual indigestion was inevitable. But I'll go again, and perhaps again. This might be my favorite for now, with the red-haired girl helping her grandmother, and the dancing pair:

Monthly Drawing Challenge

Fri, 2015/10/09 - 11:23am

The September drawing challenge was a lot of fun, of course! But for October, we have a really good topic for you: “Tenderness”, chosen by Muses author Ramon Miranda. Rise to the challenge and get drawing!

Calligra 2.9.8 Released

Fri, 2015/10/09 - 10:11am

The Calligra team announce availability of the Calligra Suite, and Calligra Active 2.9.8. It is recommended update that improves the 2.9 series of the applications and underlying development frameworks.

Bugfixes in This Release

Here is an overview of the most important fixes. There are several others that may be not mentioned here.

  • Make the maximum default toolbox button size 22px (bug 352110)
  • Fix display of toolbox icons on CentOS
  • Fix crash when typing a bogus color-set name in the color set dialog
  • General:
    • Avoid repeated opening of the same object, possible for large data

  • Tables:
    • Table view’s combo box list: ensure that highlighted row is visible
    • Table view: update the highlighted row while scrolling the viewport

  • Queries:
    • New feature: Add support for 22 typical scalar SQL functions (wish 352631):
      abs(X), ceiling(X), char(X1,X2,…,XN), coalesce(X,Y,…), floor(X), greatest(X,Y,…) and its alias max(X,Y,…), hex(X), ifnull(X,Y), instr(X,Y), least(X,Y,…) and its alias min(X,Y,…), length(X), lower(X), ltrim(X), ltrim(X,Y), nullif(X,Y), random(), random(X,Y), replace(X,Y,Z), round(X), round(X,Y), rtrim(X), rtrim(X,Y), soundex(X), trim(X), trim(X,Y), unicode(X), upper(X).
      • With minor exceptions these functions now work with SQLite, MySQL, PostgreSQL
      • This make Kexi unique environment supporting unified SQL
      • In many cases substitute functions are used to make the result work in a portable way
      • No extra i18n added; will be added in a KDb port
      • Implementation of the function parser supports:
        • checking number of arguments
        • checking types of arguments, sometimes “any number” or “any text or BLOB”
        • checking compatibility of arguments in function
        • checking relation of value of arguments in function, e.g. value of the first argument smaller than second’s
        • checking NULL arguments in function; then most often the result is NULL
        • argument overloading or optional arguments, e.g. round(X) and round(X,Y)
        • displaying of human-readable error messages when the above constraints are not met, for example “Three arguments required” or “Function does not accept any arguments”
        • easy extensibility using just a few lines of code.
    • New feature: Add support for hex literals, useful for opearting on BLOBs in queries: X’ABCD’ (SQL) and 0xABCD (ODBC) formats
    • Optimize evaluating type of expressions (also for database migration)
    • Fix broken floating-point constants in Kexi SQL queries, e.g. “1.002” was interpreted as “1.2” (bug 352363)
    • After parsing numbers are now kept losslessly as byte arrays, what enables unlimited precision
    • Improve parsing/sending BLOB literals
    • Improve performance of the SQL scanner
    • Make parsing of argument lists in scalar SQL functions more efficient by reversing direction

  • MySQL databases:
    • Set client_library_version property for newer versions of MySQL

  • PostgreSQL databases:
    • Return NULL value for columns of NULL type
    • Switch to “BYTEA HEX” escaping while generating native statements


(we’re sorry, details soon on

Calligra Flow
  • Fix lack of update of Flow’s canvas and page count when deleting the current page
Calligra Stage
  • Let Ctrl+Home/Ctrl+End go to top/bottom of text shape in stage. Much more expected than exiting edit-mode and going to the first or last page.
  • Fix crash when loading a presentation created with LO Impress
  • Don’t leave temporary files around
Try It Out

Download small

The source code of the release is available for download here: calligra-2.9.8.tar.xz.
Also translations to many languages and MD5 sums.
Alternatively, you can download binaries for many Linux distributions and for Windows (users: feel free to update that page).

What’s Next and How to Help?

The next step after the 2.9 series is Calligra 3.0 which will be based on new technologies. We expect it later in 2015.

You can meet us to share your thoughts or offer your support on general Calligra forums or dedicated to Kexi or Krita. Many improvements are only possible thanks to the fact that we’re working together within the awesome community.

(Some Calligra apps need new maintainers, you can become one, it’s fun!)
How and Why to Support Calligra?

Calligra apps may be totally free, but their development is costly. Power, hardware, office space, internet access, travelling for meetings – everything costs. Direct donation is the easiest and fastest way to efficiently support your favourite applications. Everyone, regardless of any degree of involvement can do so. You can choose to:

Support entire Calligra indirectly by donating to KDE, the parent organization and community of Calligra:


Support Krita directly by donating to the Krita Foundation, to support Krita development in general or development of a specific feature:


Support Kexi directly by donating to its current BountySource fundraiser, supporting development of a specific feature, or the team in general:
About the Calligra Suite

Calligra Suite is a graphic art and office suite developed by the KDE community. It is available for desktop PCs, tablet computers and smartphones. It contains applications for word processing, spreadsheets, presentation, databases, vector graphics and digital painting. For more information visit

About KDE

KDE is an international technology team that creates free and open source software for desktop and portable computing. Among KDE’s products are a modern desktop system for Linux and UNIX platforms, comprehensive office productivity and groupware suites and hundreds of software titles in many categories including Internet, multimedia, entertainment, education, graphics and software development. KDE’s software available in more than 60 languages on Linux, BSD, Solaris, Windows and Mac OS X.

} .button:hover{ padding:11px 32px; border:solid 1px #004F72; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius: 10px; font:18px Arial, Helvetica, sans-serif; font-weight:bold; color:#E5FFFF; background-color:#3BA4C7; background-image: -moz-linear-gradient(top, #3BA4C7 0%, #1982A5 100%); background-image: -webkit-linear-gradient(top, #3BA4C7 0%, #1982A5 100%); background-image: -o-linear-gradient(top, #3BA4C7 0%, #1982A5 100%); background-image: -ms-linear-gradient(top, #3BA4C7 0% ,#1982A5 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1982A5', endColorstr='#1982A5',GradientType=0 ); background-image: linear-gradient(top, #3BA4C7 0% ,#1982A5 100%); -webkit-box-shadow:0px 0px 2px #bababa, inset 0px 0px 1px #ffffff; -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff; box-shadow:0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;

} .button:active{ padding:11px 32px; border:solid 1px #004F72; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius: 10px; font:18px Arial, Helvetica, sans-serif; font-weight:bold; color:#E5FFFF; background-color:#3BA4C7; background-image: -moz-linear-gradient(top, #3BA4C7 0%, #1982A5 100%); background-image: -webkit-linear-gradient(top, #3BA4C7 0%, #1982A5 100%); background-image: -o-linear-gradient(top, #3BA4C7 0%, #1982A5 100%); background-image: -ms-linear-gradient(top, #3BA4C7 0% ,#1982A5 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1982A5', endColorstr='#1982A5',GradientType=0 ); background-image: linear-gradient(top, #3BA4C7 0% ,#1982A5 100%); -webkit-box-shadow:0px 0px 2px #bababa, inset 0px 0px 1px #ffffff; -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff; box-shadow:0px 0px 2px #bababa, inset 0px 0px 1px #ffffff; }

.button a,.button a:link, .button a:visited, .button a:hover, .button a:active { color:#E5FFFF; } -->

Qt World Summit + Kate/KDevelop Sprint in Berlin

Fri, 2015/10/09 - 8:39am

This week is really busy, first three days of Qt World Summit and now hacking away at the Kate/KDevelop sprint in Berlin.

This year my personal goal will be to get our bugs & wishes back into shape.

One major decision I as the maintainer did take was to close all wishes that not got changed since two years. Our team is very small and we have plenty of real bugs to take care of (and their number is rising) such that we will never be able to implement random requests.

If an user is really interested in the feature to come into existance, the wish can be reopened. Still, if no new arguments are brought up that might lead to some more interest by the Kate team, I think that won’t help a lot. The best solution would be if people could provide patches, which in some cases, like for missing highlighting features in the syntax files, is really easy. At least it should be for the advanced user crowd attracted by an advanced text editor.

September update for Plasma’s Wayland porting

Thu, 2015/10/08 - 9:35am

September was a busy months in the KDE Wayland world. We have worked hard to bring Plasma closer to a workable system and could cross off some very important milestones.

Transient window positioning

One of the biggest oddities when trying out Plasma on Wayland in the 5.4 release is the fact that menus open at random positions. The reason for this is that KWin applied it’s placing strategy on it and ignored the hints provided by the window. We have now implemented support for the so-called transient windows in KWayland and use the provided placement hint in KWayland. So now all menus open at the correct position. A useable Wayland session is much closer now.

Plasma/KWin specific extensions

Marco did quite some work for the integration of Plasma. KWin provides some Plasma specific extensions like the sliding popups effect, blur and background contrast effect, etc. We have an abstraction through KWindowSystem so that applications do not have to use low level X11 calls directly. Now we extended this abstraction to also Wayland: if the application uses the API it will work on both X11 and Wayland. Granted it will only work with compositors providing the specific protocols, but that is no difference to X11. Also there the compositor needs to implement the custom protocol.

On the client side the protocol is implemented in KWayland and the integration for KWindowSystem is provided through
a plugin provided by the kwayland-integration repository. On KWin side the protocol is also provided in KWayland allowing a very easy to use API. Of course also KWin needed small adjustments in the effects to announce support for the protocol and read the information provided by the windows. Thanks to nice wrapping in KWayland the code is cleaner and simpler than in the X11 case.

Support for multiple X Servers

A change not directly relevant for KWin went into KWindowSystem and will be released with the upcoming 5.15 KDE Frameworks release. KWindowSystem provides an X11 API which looks like it supports multiple X Servers (e.g. one application talking to multiple servers), but that has never worked as it fetched required atoms only on first connection. We refactored the relevant code to no longer have this limitation.

Current Plasma in a nestedKWin/Wayland session with grabbed inputCurrent Plasma in a nested KWin/Wayland session with grabbed input

Granted normally applications do not talk to multiple X servers, but there is a mode in KWin which uses just that: a nested kwin_wayland on X11. To explain: it needs to talk to the host X server for rendering two (one server) and it starts it’s own Xwayland server (second server). In case you have ever wondered why the nested kwin_wayland window released with Plasma 5.4 neither has a window icon nor a window title: that’s the reason. We couldn’t use Qt’s abstraction (wrong QPA plugin) and also not KWindowSystem as we needed to make sure the atoms get resolved for the Xwayland server. Now with this restriction removed the window has an icon and a title. Even more I added a “grab input mode” as one might know from virtual machines. While it’s easy to implement I didn’t want to implement it without having a way to tell the user what happened and what the current grab state is.

Preparing KWin for the cloud

The most exiting new feature in my opinion was born last Friday based on frustrations about testing KWin Wayland. Last week Marco and I spent quite some time investigating a few regressions (as it turned out due to adding transient window support). The way to test it was just uncomfortable. We had a test case but it meant starting KWin, waiting till it’s started, start the test application, perform some clicks and interpret whether it worked. Once we fixed that issue I started to look at a crash and the process was similar annoying. What I wanted was a way to automate the test condition, that is an autotest which we could even run in our CI system.

So on Friday I decided to dedicate my development time on a virtual framebuffer backend.This backend (to start use kwin_wayland --xwayland --virtual) doesn’t render to any device, but only “simulates” rendering by using a QImage which then isn’t used at all. Well not completely true: there is an environment variable to force the backend to store each rendered frame into a temporary directory.

Why is such a virtual backend so exiting? Well it means we can run KWin anywhere. We are not bound to any hardware restrictions like screen attached or screen resolution. With other words we can run it on servers – in the cloud. The first such instance runs on our CI servers in the form of an automated integration test. And in future there will be much more such tests.

But that is not only interesting for KWin to have it’s autotests, it’s also interesting for all other projects of the workspace as we have now a virtual Wayland server which is functional identical to the one we use. We also have a better virtual X server now as we have Xwayland instead of Xvfb (e.g. support for XRandR extension).

Once I had it implemented ideas came to me for improving our CI system: we could use it for something like OpenQA (or integrate the existing tool) and start a complete Plasma session and screenshot various points (if that sounds like an exiting project: please contact me, also if you want to do that as a Season of KDE project ).

Or integrate a remote rendering solution (e.g. VNC, rdesktop, spice, html5) and run a complete session through the web. That could be a very interesting feature for designers, translators, supporters and many other non-developers. Get the latest state of the code directly tested. We have things like Kubuntu CI which make it easy to test in a virtual machine, but wouldn’t it be even more awesome to just run the latest build of the CI system in the browser?

KWin Tests

With the help of this virtual backend we are now able to start a “complete” KWin in the autotests. This allows us to very precisely test whether a specif feature works as expected. Unit tests are great, but sometimes one wants to test the complete integration and that’s now possible.

Working auto completion tooltip in Kate on KWin/WaylandWorking auto completion tooltip in Kate on KWin/Wayland

The first problem addressed with this new possibility was a bug noticed while writing this blog post. I used Kate on Wayland and the tooltips got keyboard focus. So now we have an autotest which ensures this case works.

Calligra Words 3 Alpha: now pure Qt5/KF5

Wed, 2015/10/07 - 6:19am
Seeding in spring…

This year, in March 2015, we started the port of Calligra from Qt4/kdelibs4 to Qt5/KF5. Both, because Qt4/kdelibs4 is running out of support and because of the promised lands of better portability and more granular dependencies with Qt5/KF5.

The Qt developers and KDE developers have done great efforts to ease the porting. Source incompatible changes in the API between both variants were only minimal. And with the KDELibs4Support library a great porting util was provided, which also allowed us to reach some first success in porting after just a few weeks. Only documentation of needed changes could have been better (but we are also used to high standards :) ).
First easy success makes lazy, and with days getting longer and out-door temperatures nicer in the northern hemisphere other things got more interesting as well, so in the following months porting was only slowly progressing. Also were GSoC projects and other feature development done against the stable 2.9 branch during those months, so more porting would have made integrating those things also to the ported version more difficult. Thus we set ourselves the rule to just do as minimal porting as needed, using the KDELibs4Support library whereever possible. Still, a lot of clean-up work based on porting needs was done in the 2.9 branch during that time. And the 2.9 branch got merged weekly to the porting branch, and amazingly this worked without breaking things all the time, just needed minimal adaption here and there.

Harvesting in summer & autumn…

Now, the port will be only really complete once the KDELibs4Support util no longer is needed. The Kexi developers were the first to reach that point, because they followed a separate path in the porting effort, in another branch. The rest of Calligra was still to follow…
Once GSoC came to an end a few weeks ago and with that also any feature development scheduled in parallel, and with no bigger regression known in the minimal porting state, full porting mode was entered: the porting branch became official master branch and since then has seen many commits cutting out the strings to KDELibs4Support. Krita was the first to gain “fully ported” state here, thanks to funded work. Happily, due to the shared code in the Calligra libs and plugins, the rest of Calligra also could win from that funding :)

And with further work done, here we present the next Calligra app to be pure Qt5/KF5-based:

Calligra Words 3 Alpha without KDELibs4Support library

More to come…

The current few regression glitches that sneaked in will be ironed out in the next weeks, along the completion of the port of the other apps. Lot’s to do still, and then also all the existing bugs from before.
But we are dedicated here to make e.g. Calligra Words finally a serious editor for serious documents (and unserious documents, of course), and we get closer than ever IMHO.

So look out for Calligra in 2016!

Three Cheers to Randa 2015 and Mario

Tue, 2015/10/06 - 2:23pm

I haven't been to any KDE events and I can assure that the first experience of the KDE event is mind blowing.  

Let me see where to start form for the Randa meetings! Lets start from The Introduction.

Day 1 - The Introduction Day

Mario had already arranged for the rail tickets form Zurich airport to Randa. As soon as I landed on Zurich, Uri was there waiting with the rail tickets. This was my first time in Zurich and I really had no idea about the train classes and other things so I missed not only one but three trains at a stretch all because of the class confusion. Once I understood, I took all the correct trains to Randa and reached a little late than usual but to my surprise Mario had prepared lunch for all of us. Initially for the few hours of work the WiFi was a bit slow but Mario and others quickly took care of that. We had a brief introduction during dinner time and started working together.

Day 2 - The Actual work Started

All of the developers almost arrived by morning and I tell you the food was awesome. After satisfying our stomach we quickly started to work in out respective working rooms. Oh! One thing I forgot to mention, there was separate rooms for separate KDE groups and the name was really catchy. If you ask me now I wont be able to tell you but believe me it was. So, lets get back to where we paused! 

I was working on the port of KTurtle application. It was not actually not a traditional port. It was porting away from the kde4libs to Qt. I quickly figured out how to do the port and was doing by the Brut force way but Andreas Cord-Landwehr came to my help and actually showed me a process that will reduced the working load to half. 

After the delicious dinner Torsten quickly caught by attention with a peculiar looking box. It was a telescope, hand crafted. As you have already guessed we went for star gazing at the middle of the night in the mountains. Now this a thing which I really never expected in the Randa meetings. Torsten was working on Marble, adding some features with Dennis and Sanjiban and were all set to launch the android app for the same.  

Day 3 - The Local Sightseeing 

It was actually during the lunch time that Mario declared that we will have a local sightseeing after the lunch. Around 2.30 pm we were all set to go. It was so beautiful that I actually didn't want to stop even though I was really tired walking around (the place where I stay is a plain land). There was these small stories that Mario was telling us like a story teller. I don't know it was all true or not but I felt like believing all of it.  

We returned in the evening and quickly had dinner(I was too hungry by all the walking). After the dinner I got to know the visual designer group personally and they were the coolest group around according to me. The work continued till late night but it never left tiring as all the guys were so cheerful while working.

Day 4 - The Trekking

Mario had arranged for some cars and it was decided that we will trek our way back home from Zermatt. He arranged few cars to go to Zermatt and around 2.30 pm we left for the it. The view from Zermatt was really mesmerizing. Zermatt was actually a place of tourist attraction. It was a bit more crowded than Randa. Though Mario clearly mentioned that he can arrange for cars for the people who where not willing to trek but there wasn't anyone who actually took the way back in a car. It was really surprising to see everyone was such a sport. The trek took us almost three and a half hours to complete with my tortoise like speed but everyone in my group was courteous enough to adjust according to my speed. :D

Day 5 - Few more visitors in the house

Just when we went to take our breakfast, Myriam arrived. I was so excited to meet her, I simply have no words. It was for a long time that I was using amarok as my only media player. I initially thought she might be really strict but as the time went it looked like she was really cute and sweet. 

After the dinner time I don't know why but everyone was playing Foosball. Rahul invited me to play as a team against Dennis and Sanjiban. It was really a good match but we lost in the end and went back to out respective coding room. By late night, I had successfully completed the port and put everything for the review.

Day 6 - The Cheese-Hacking Party

If I am not wrong it was the day when we had the cheese party at lunch. I don't remember the name of the cheese that were served to us but it was really delicious. Wine was also served just to give an edge to the taste. 

It was like my work for my randa meetings was finished before time but I wanted to contribute my most in the randa meeting so I started of with another application called the KWordQuiz. It had almost similar task like the KTurtle where I have to port away the kde4libs to Qt. Though it sounded a lot similar but this time I had really some difficulty to do the task. Aleix and Andreas came to my rescue and gave a lot good advice to carry on the port. I got introduced to a lot of scripts which could increase my working efficiency. 

Day 7 - Last Night at Randa

This morning I was really having a heavy heart as I know it wont be so much fun to hack. It was the day when a one fourth of the population left one by one. 

In the evening time when we were busy coding and testing the stuff we have implemented few guys all of a sudden arranged for BBQ in the mountains. We bought the stuff for the BBQ from the market place and started began our journey to the mountains. We have to walk a bit till we found a place where we can actually set it up. It was the time of my life. Laughing, talking, mountains and good company. What else do you need in life! Finally it looked like we lived the golden days of our life.

No matter how much I write, its never going to enough for the Randa meetings. But I would surely want to attend the Randa again. It is not because of the good hacking time we had but the experience that I had working with others and not to forget the fun during the meetings also. 

Oh one more thing that I would like to mention is the time when Mario provided us chocolates in between the serious hacking hours. Swiss chocolate and hacking, really a good combination. :)

Thank you for bearing with such a huge article. :)

Name: Sayan Biswas
IRC nick: techsayan

From Ghost To Nanoc

Mon, 2015/10/05 - 10:00pm

I completed my blog migration from Ghost to nanoc.

About 2 years ago I did setup a blog on using Ghost. It’s UI was very minimal and I liked the default theme (Casper) a lot.

However, I kept nanoc for my main website, until I decided to give Hakyll a try. It’s not that nanoc didn’t satisfy me at that time, but that I was affascinated by Haskell - I’m still affascinated by Haskell, but I’ve no much time to play with it, while I play with Ruby more often.

Someday ago I tought it’s time to merge my website and my blog; both could be handled by a static site generator and since I’m fluent in Ruby more then Haskell, I went for nanoc again.

The migration has not been hard because one of the main features of Ghost is that you write your post using Markdown, then I wrote this shell script to migrate my posts from Ghost to a “nanoc compatible format” like:

--- kind: article created_at: 2015-10-06 title: My Ghost Post tags: ['example'] --- This is a post in **Ghost**!

With that script my posts were split and ready in the content folder to be built by nanoc. Nothing more to do! Well, in truth I had to fix the path to the linked images manually…

The second step was to put some redirect to allow the old links around the web to continue to work, specifically the Ghost pattern was while in nanoc I went for I fixed this in my blog nginx configuration:

location = / { rewrite ^ $scheme:// permanent; } location / { rewrite ^(.*) $scheme://$request_uri permanent; } location = /rss/ { rewrite ^ $scheme:// permanent; }

While in the website nginx configuration I put:

location /posts/ { root /srv/http/website; if ($request_filename ~* ^.+.html$) { break; } if ($request_uri ~* ^.+/$) { rewrite ^/(.*)/$ /$1.html permanent; } }

And that’s!

Hope this helps someone that plans to do the same migration. If you are interested at looking at my nanoc setup, the configuration is here.

My experience at Randa Meetings, 2015

Mon, 2015/10/05 - 4:47pm

It has been nearly a month since I got back from the Randa Meetings this year, and the memories are still fresh in my mind. This was my first KDE event that I have attended, and the overall experience was awesome!

This year the event took place from September 6 to 13, and it started off with me and some other fellow participants meeting up at the Zurich airport on the morning of 6th to collect our train tickets. After some 2 hours of train journey which included some great scenic views from the windows we finally reached the Randa house, where we were warmly greeted by Mario and others who had already reached. Arrangement for lunch had already been made, and we enjoyed a great meal consisting of beef steak and spaghetti.

Later that day I met with some of the other developers. Till then I had only interacted with them via emails/IRC conversations, and finally getting to meet them in person was quite thrilling. In the evening we went for some star-gazing. Torsten from the Marble group had brought his own home-made telescope and invited us to join him outside. He started to build the whole telescope from its parts, and after it was ready he showed us many stars and constellations and shared many interesting facts. At last when it started to get too cold for me to even feel my legs we decided to wrap it up for the day.

We spent the following days mostly in the hacking rooms. There were several rooms allocated to different groups. I joined some of the KDE-Edu developers. I met with Andreas Cord-Landwehr, Aleix Pol, and some more developers who had helped me a lot with my tasks. I took up with porting  of the remaining Edu apps to KF5/Qt5. I found that Kalzium’s port had already been started by someone, and I decided to continue it from there. By the end of the Randa Meetings I was able to complete most of the port.

We also went for some trips every now and then. After long hours spent in coding it was kind of refreshing to stretch out your legs and enjoy a walk along the hilly roads. Many a times in the evening we would go for some short nearby trekking. One day we all went to Zermatt. Mario had arranged for some cars, and we spent the entire afternoon there. The return trip was almost some 3-4 hours of trekking, and I for one was exhausted like anything. Finally we reached the Randa house towards the evening, and soon we had a splendid dinner. One of the awesome things about the Randa meetings is the food. You are always served with extremely delicious dishes all the time which you never get tired of. Moreover there are always fruits and coffee/tea kept for you.

Amidst all these memorable moments the 7 days came to an end (very quickly it seemed), and it was time for goodbyes. Some of them had already left by the evening of 12th. I and a few of my friends left the next day. This event was really a memorable one, and I owe Mario a big thanks for organising it so perfectly. A lot of projects were completed by the developers, and the week spent there was very fruitful. I sincerely hope that such events are again held in future, and I am looking forward to attend them.

KDE at Qt World Summit

Mon, 2015/10/05 - 2:06pm

So. KDE has landed at Qt World Summit.


You can come and visit our booth and …

  • hear about our amazing Free Qt Addons (KDE Frameworks)
  • stories about our development tools
  • meet some of our developers
  • Talk about KDE in general
  • Or just say hi!

KDE – 19 years of Qt Experience.

The Art of Language Invention

Sat, 2015/10/03 - 7:04pm
"Careful now. I must say this right. Upe, I have killed your husband. There's a gold hairpin in his chest. If you need more soulprice, ask me. Upe, bing keng ... No, that doesn't start right. Wait, I should say, 'Upe, bing wisyeye keng birikyisde... And then say sorry. What's sorry in this stupid language? Don't know. Bing biyititba. I had to... She can have the gold hairpin, and the other one, that should be enough. I hope she didn't really love him."

This is a tiny fragment from the novel I was writing when I started hacking on Krita... I finished the last chapter last year, and added a new last chapter this year. The context? Yidenir, one the protagonists, an apprentice sorcerer, is left alone by her master in a Barushlani camp, where she lives among the women, in the inner courtyard. When she learns she has been abandoned, she goes to the men's side of the tent, argues with the warlord and to make sure he understand she's a sorcerer, kills his right-hand man, by ramming one of her hairpins in his chest. Then she goes back, and tries to figure out how to tell that henchman's wife that she has killed her husband. A couple of weeks isn't long enough to learn Den Barush, as Barushlani is called in Denden (where 'barush' is form of the word for 'mountain').

Together with the novel, I wrote parts of a grammar of Barushlani. I had written a special application to collect language data, called Kura, and a system that used docbook, fop and python to combine language data and descriptive text into a single grammar. I was a serious conlanger. Heck, I was a serious linguist, having had an article published in linguistics of the Tibeto-Burman Area.

But conlanging is how I started. I hadn't read Tolkien (much, the local library only had Volume II of Lord of the Rings, in a Dutch translation), I didn't know it was possible to invent a language. But around 1981 I started learning French, English and German, and with French came a grammar. A book that put down the rules of language in an orderly way, very attractively, too, I thought. And my mind was fizzing with this invented world, full of semi-hemi-demi-somewhat humans that I was sculpting in wax. And drawing. And trying to figure out the music of. My people needed a language!

So I started working on Denden. It's no coincidence that Denden has pretty much no logical phonology. Over the years, I found I had gotten sentimentally attached to words I invented early on, so while grammar was easy to rewrite and make more interesting, the words had to stay. More or less.

Then I started studying Chinese, found some like-minded people, like Irina, founded the Society for Linguafiction (conlang wasn't a word back then), got into a row with Leyden Esperantist Marc van Oostendorp who felt that languages should only be invented from idealistic motives, not aesthetic. I got into a memorable discussion in a second-hand bookshop when a philosopher told me smugly that I might have imagined I had invented a language, but that I was wrong because a) you cannot invent a language and b) an invented language is not a language.

I got into the community centered around the CONLANG mailing list. I did a couple of relays, a couple of translations, and then I started getting ambitious about my world: I started working on the first two novels. And then, of course, I got side-tracked a little, first by the rec.arts.sf.composition usenet group, where people could discuss their writing, and later on by Krita.

These days, when we need words and names for our long-running RPG campaign, we use Nepali for Aumen Sith, Persian for Iss-Peran. Only Valdyas and Velihas have proper native language. The shame!!

And apart from RPG and now and then writing a bit of fiction, I had more or less forgotten about my conlanging. The source code for Kura seems to be lost, I need to check some old CDR's, but I'm not very hopeful. The setup I used to build the grammars is pretty much unreconstructable, and the wordprocessor documents that have my oldest data don't load correctly anymore. (I did some very weird hacks, back then, including using a hex editor to make a Denden translation of WordPerfect 4.2.)

Until today, when young whipper-snapper David J. Peterson's book arrived, entitled "The art of language invention". Everything came back... The attempt to make sense of Yaguello's Les Fous du Langage (crap, but there wasn't much else..) Trying to convince other people that no, I wasn't crazy, trying to explain to auxlangers that, yes, doing this for fun was a valid use of my time. The Tolkienian sensation of having sixteen drafts of a dictionary and no longer knowing which version is correct. What's not in David's book, but... Telling your lover in her or your own language that you love her, and writing erotic poetry in that language, too. Marrying at the town hall wearing t-shirts printed with indecent texts in different conlangs, each white front with black letters shouting defiance at the frock-coated marriage registrar. (I don't believe in civil marriage.)

Reading the book made me realize that, of course, internet has changed what it means to be a conlanger. We started out with literally stenciled fanzines, swapping fanzine for fanzine, moving on to actual copiers. Quietly not telling my Nepali/Hayu/Dumi/Limbu/comparative linguistics teacher what I actually was assembling the library of Cambridge books on Language (the red and green series!) for.

Linguistically, David's book doesn't have much to offer me, of course. I adapted Mark Rosenfelder's Perl scripts to create a diachronically logical system of sound changes so I could generate the Barushlani vocabulary. I know, or maybe, knew, about phonology, morphology, syntax and semantics. I made my first fonts with Corel Draw in the early nineties. I had to hack around to get IPA into Word 2. But it was a fun read, and brought back some good memories.

And also some pet peeves... Dothraki! I'm not a Games of Thrones fan, I long for a nice, fun, cosy fantasy series where not everyone wants to kill, rape and enslave everyone else. I found the books unreadable and the television series unwatchable. And... Dothraki. David explains how he uses the words and names the author had sprinkled around the text to base the language on. Good job on his side. But those words! Martin's concept of "exotic language" basically boils down to "India is pretty exotic!" It reads like the random gleanings from the Linguistic Survey of India, or rather, those stories from the Boy's Own Library that deal with Hindoostan. Which is, no doubt, where the 'double' vowels come from. Kaheera's ee is the same ee as in Victorian spellings of baksheesh and so on. Harumph.

BUT if the connection with television series helps sell this book and get more people having fun conlanging, then it's all worth it! I'm going to see if I can revive that perl script, and maybe do some nice language for the people living in the lowlands west of the mountain range that shelters Broi, the capital of Emperor Rordal, or maybe finally do something about Vustlani, the language of his wife, Chazalla.

Let's go back to Yidenir, doing the laundry with poor disfigured Tsoy... Tsoy wants to sing! "Yidenir, ngaimyibge?" Another fierce scowl.

"What did you say? -- do I sing? Er..." Yidenir was silent for a moment. Was this girl making fun of her? Or was she just trying to be friendly?

"Sadrabam aimyibgyi ingyot. Aimyibgyi ruysing ho," Tsoy explained patiently.

"Er, singing, is good, er allowed? when doing laundry? Oh, yes, I can sing... Denden only, is that all right? Er, aimyipkyi denden?"


"All right, then... Teach you a bit of Denden, too? Ngsahe Denden bingyop?" Yidenir offered.

KDE Plasma 5.4.2, bugfix Release for October, is already landing in Kubuntu Wily

Sat, 2015/10/03 - 2:57pm

KDE Plasma 5.4.2, bugfix Release for October, is already landing in Kubuntu Wily, to become Kubuntu 15.10 in less than a month.


Randa Meetings update

Sat, 2015/10/03 - 2:29am

I am really not a person who blogs much and its bit late, please bare with me in case if anyone does not like the way article is written or how it is formatted. I really feel good being KDE user since 2005. Officially I started coding / contributing to minor stuff in KDE in 2010. Switzerland is an awesome place and I really liked Randa. Speaking of Switzerland, for me those trains are art of engineering. I would like to thank KDE e.v. and  other sponsors for making this event happen.

DAY 1 – Sunday20150908_085429

I arrived in Randa in the evening and was welcomed by Dr. konqui though Katie was missing. I  went to registration office to meet Mario and then moved my stuff to the room.  As it was really tiring travel so it was already time to have couple of beers [ FELDSCHLÖSSCHEN ] with other KDE folks. (Quick Day Update) .

DAY 2 – Monday                                                                                
Introduction by Mario Fux about different groups that arrived to Randa meetings for hacking followed by presentations.I think videos are already uploaded or might be uploaded soon.

KDE on Android (Alexi Pol)

  • cmake on android Qt on Android
  • KDE Frameworks 5 on Android
  • Huge user base Android and Linux/KDE/Plasma allow us to develop our applications on non-desktop devices

Problems : Competency, not very friendly ecosystem at the moment Ensure we preserver users play f-droid , host f-droid store, not all dependencies are deployed there.Ensure we reach proper userbase, unified look and feel. We dont have all of the abstractions for the widgets.

All things in Plasma (Marco Martin)

  • History of Plasma ( Transition from KDE-3 -> KDE 4 Plasma )
  • traditional desktop experience and as well as different devices Plasma media center Plasma mobile Phone
  • Wayland, mer ,kwin

Short Intro (Scarlett Clark)

  • docker images for android windows and OSX

GCompris (Bruno Coudoin)

Plasma Visual Design (Heiko Tietze, Jens Reuterberg, Andreas Kainz, Uri Herrera)

KDE Connect

  • integrate ktp sending/rec text messages
  • Material Design Plasma5 version of KDE Connect
  • Ideas for Android wearable iOS port

QML Web (Pavel Vasev, Jan Marker, Anton Kreuzkamp)

  • future ideas to writeWeb Application in QML>/li>
  • compile QML with JS run on Web browser and nodejs QML Files

Then the closing note for the day by Mario and to start hacking Monday morning. I have missed to mention couple of talks and presenter names because I missed some ralks

Day 3 – Tuesday

I started work on new kiosk like tool. Collecting the information that was needed and discussed about it with couple of folks about this project.

Day 4 – Wednesday

We went to Zermatt and then walked back to house in Randa. It was an awesome experience. I like flying objects a lot and would not mind flying UFO as well if given a chance by aliens. Watching Helicopter was fun …




Air Zermatt [ Helipad ]


Air Zermatt [ Helipad ]


Helicopter Carrying Supplies

Day 5 – Thursday

I thought of naming is as “KONFINE”. Though If anyone else has any suggestions for name of the project discussion is open. I started designing the UI for this tool but was complete failure and then I started talking with “Andreas Kainz” hopefully I have written correct spellings. He helped me with the UI and he really came up with a better UI design than mine so thanks alot Andreas Kainz for that.

Day 6 – Friday

I did some coding, while I was coding I saw someone posted on the wall in TODO action that SSL patches for KDE connect needs to be reviewed so I started reviewing the SSL Patch for KDE connect. Most of the people started leaving on Friday some already left on Thursday.

Day 7 – Saturday

I continued my coding and other areas to research about the KDE Frameworks. I think I was able to provide some useful information on KDE Connect patches to tweak code for better security. Patch for Android still needs to be reviewed. Packed my bags same day.

Day 8 – Sunday

I left house in Randa around 0500 HRS early morning (Everyone else was sleeping) to catch my flight from Zurich as it takes ~3 Hrs to reach the airport. Overall experience of the Randa 2015 meetings was awesome. This was my first sprint of any sort and a great experience. Staff and people who maintained the house were really good , food was amazing. It was also nice to meet Mario and his family members. Most probably I would be able to show some screenshots of application by end of this October or soon.

Kubuntu: Plasma 5.4.2 Ready testing! Come join the fun.

Thu, 2015/10/01 - 10:50pm
 Help make us better!

Kubuntu: Help make us better!

Basically we need you to test!
Thank you very much for those that helped today :) Frameworks needs further testing and with
more testers we can find these problems prior to release.
Please see my last post for details:
Last post A call for testers!

Today we have the latest Plasma 5.4.2 ready for Wily (backports will not be made until this one has been tested and released)

(Disclosure: DO NOT TEST on a production machine. You have been warned.)
Located here:

Add this to your sources.list and do an update/upgrade.
Then remove the ppa from sources.list.

Report back your results.
Thank you!

Secrets of Krita: the Third Krita Training DVD

Thu, 2015/10/01 - 12:31pm

Comics with Krita author Timothée Giet is back with his second training DVD: Secrets of Krita, a collection of videos containing 100 lessons about the most important things to know when using Krita.

In 10 chapters, you will discover with clear examples all the essential and hidden features that make Krita so powerful and awesome! The  data DVD is English spoken with English subtitles.

Get it today from the Krita web shop!


The Future of Kontact

Thu, 2015/10/01 - 10:49am
KDE Project:

Supplemental to what we reported previously about the work in Randa [1, 2] there was a session on the future of Kontact, KDE’s personal information manager (PIM). Over the years this tool has evolved into a monster making both development as well as usage sometimes tricky. It’s time to cut hydra’s arms.

TL;DR: Sorry for the long posting. This blog post is about requirements for Kontact mobile. It also shows a couple of mockups based on the preliminary mobile HIG that illustrate what the requirements mean.

Formerly, Kontact had a rather simple vision which was updated at the last PIM sprint:

“The KDE PIM Framework allows to easily create personal information management applications ranging from personal to large enterprise use, for any target device and major platform. It seamlessly integrates data from multiple sources, while aiming to be rock-solid and lightning-fast....” (read more at Thomas Pfeiffer's blog and the new KDE PIM wiki page)
(Probably we do not talk about a framework anymore but a full-featured PIM suite)

In addition the generic “simple by default and powerful on demand” should be true. That means among others to drop all non-core features. Since KDE software will run on mobile and touch devices the next version of Kontact has to runs smoothly on all devices and form factors. And the special aim of the developers is that Kontact will become the first tool when privacy and security is of primary interest.

Persona and Scenario
Kontact will stick to the KDE personas. The main area of application is in medium to large size companies with a focus on security. So we talk about people like Berna or Santiago as the primary persona. The secondary persona is the private user with average knowledge (Susan) but also those with special needs like mailinglists (Philip).

There shouldn’t be much to clarify about the desktop scenario. In respect to mobiles we have to consider first phones with ~4 to 5” in both vertical and horizontal orientation. For instance, the phone can be used vertically to get an overview of incoming emails and provide details on the selected item when rotated. Additionally we have to take tablets with 10-12” and wearables into account. The latter might be a small wrist watch but also a head-mounted display with a larger visualization.

Most relevant in this early stage of development is to define the intended features clearly. So this blog post is actually about requirements.

  • Essential for Kontact+ are email, calendar, and address book. Additional modules like notes, to-do lists, feeds etc. will be made available via plugin.
  • It has to be easy to switch between these modules
  • Modules have to allow interactions in terms of adding an appointment to the calendar that was received by email.
  • Configuration of the app is important
  • Comply with KDE phone (swipe up/down from top and bottom; extend the to
  • olbar wrt. the form factor)

Some time ago an analysis was done in respect to Plasma Active, which shouldn’t be outdated too much.

  • Received emails have to be shown in a comprehensive list that allows to focus on important items.
  • Discussions (mailinglists) are shown in threads, which is one of the killer feature of today’s KMail.
  • Emails can be sorted and filtered by date/sender/receiver/size/flags with all flexibility
  • Security/privacy is of major interest.
  • Core technical features are:
    • Support multiple accounts
    • Support standard protocols (IMAP, POP3, SMTP)
    • Supports authentication via NTLM (Microsoft Windows) and GSSAPI (Kerberos)
    • Supports plain text and secure logins, using SSL and TLS
    • Native support for inline OpenPGP, PGP/MIME, and S/MIME encryption
    • Filter spam (Integration with popular spam checkers, e.g. SpamAssassin, Bogofilter, etc.)
    • Provide synchronization features (e.g. owncloud)
    • Notification for new messages
    • Deal with text and HTML formatted emails

UI relevant features with relevance and suggested realization:

  • Receive/update: core > auto push or swipe down
  • Overview as well as details view and the complete email: core/performance > selection and touch again
  • Distinguish read from unread messages: core > grey out
  • Reply/reply all/forward: performance (reading is preferred on mobiles) > context drawer / handle (reply to all only for mobiles)
  • Compose: performance > global drawer
  • Delete: performance > context drawer
  • Move to folder (archive): buzz > context drawer
  • Save/add attachment: buzz > context drawer
  • Link item (add sender to/from address book, add appointment etc.): performance > context drawer
  • Toggle html on/off: exotic / buzz > context drawer
  • Show full header info: exotic / buzz > link
  • Handle long lists of receivers: exotic (at overview)/ performance wrt. to security > cut by default
  • Search for items: exotic > not implemented
  • Sort items by property (time, sender, receiver...): exotic > not implemented
  • Import/Export emails: exotic > not implemented

core/basic features = program does not work without, performance = not absolutely necessary, but create the impression of a good product, buzz = not expected by default, exotic = not really needed
For more about context drawer or global (or menu) drawer you may read the preliminary HIG or wait for the upcoming blog post by Thomas Pfeiffer.

Calendar & Addressbook
We talked also in short about the calendar app. Ideas will be presented later to not overload this posting.

Requirements are essential for products. But since people tend to not read walls of text- and because it’s often not easy to follow the ideas, it makes sense to visualize with simple mockups.

Multiple level of details

Figure 1
Figure 1: Several level of detail in order to support both a fast overview as well as having a preview and a full-size read mode. The figures also illustrate the idea to add graphical guidance a la GitHub.

The probably most shining feature is the graph supporting the orientation. It is inspired by GitHub with the idea to flatten the current system of reply indention. If Alice communicates with Bob there would be a straight line. And if John joins and “branches” the discussion this would be illustrated respectively.
Threads are identified by the topic, highlighted in blue here. With the goal to show as many (incoming) emails as possible we start from the left with the highly condensed view that lists sender and time of the email. Items expand on selection (indicated also by a bigger sign in the graph) providing a quick preview. The actual email address is shown here for security reasons. If the user touches the item once again the app provides inline access with almost the complete functionality. However, from time to time it might be necessary to read the message in full size with for example all HTML features, as illustrated in the right picture.
By the way, the bottom panel with the red cross is a placeholder for global plasma functions on mobiles.


Figure 2
Figure 2: Context functions with the selected item and global interactions with the app. In the right mockup the idea of dynamic filters is shown.

Context relevant functions are located in the right drawer. It opens when the user swipes from right to left offering all functions with the current list as well as the selected item. If the user wants to have quick access to a particular function, such as reply (reply to all in case of mobiles) and delete, these features may be selected for having them at the handle, which is shown on slid sideways. The user can decide what he or she wants to have there but with a limit to a few functions only (here two).
Access to global functions, i.e. compose for email, and other modules are available in the left, global drawer. And there is also a core feature of the email app: Dynamically combined filters.

Normal email programs work with a couple of fix folders like inbox, sent, and trash plus user-defined folders. But reading an email in a conversation without reference to own contributions is weird. And using predefined folders is also somewhat outdated. The idea is to have filters like “all incoming unread messages” (replacing the inbox), “emails with reference to KDE in the header or sent from *” (replacing personal folders). The creation of those filters (like smart folders in the Mac OS world and also similar to the stored search in the current KMail) could be done on the desktop for convenience. The mobile app provides checkboxes to have any combination of those filters.

Form factors and orientation

Figure 3
Figure 3: Horizontal orientation.

Different form factors like in rotated orientation or in case of a larger displays have to be taken into consideration. While the number of shown emails is reduced it is possible to read the content of the selected item, at least in terms of the preview.

Figure 4
Figure 4: Desktop or tablet size version of Kontact+.

With more size the screen may get organized like in conventional email applications. The left, global drawer (aka sidebar in desktop apps) offers navigational and global features (still providing access to dynamic filters), there is an overview of all emails (here with more information compared to the mobile version), and the details below. Large screens makes it also possible to show a toolbar with labeled buttons instead of the right context drawer.

It should be kept in mind that users may want to switch to the mobile version on the desktop, for example in order to have a small app running on a secondary screen.

Alternative version

Figure 5
Figure 5: Alternate, even more simple version.<(i>

Of course you can (and should) refuse requirements that make no sense to you. For instance, if threading is less important and if the major focus is not on as many items as possible at once, the user interface may look like in figure 5. Colors can be added to support navigation and orientation, but must not be used as primary indicator. That means, similar to existing apps the items may have a small indicator bar, or the like, for the respective filter.

Finally, and to make it really confusing, the app is made for KDE. And since we offer all freedom the configuration should allow flexibility and individualization. However, the mobile app needs to be simple so we must not add all the features available currently.
Here are some ideas for the configuration:

  • Sender name: ( ) First name Surname, (o) Surname, First name, ( ) First name only, ( ) Surname only
  • [x] Show sender’s full address
  • [x] Allow HTML emails
  • [x] Show navigation graph
  • <1> Number of preview lines
  • [Breeze|Oxygen|Rainbow|B/W] Color set
  • <0.5> Time to mark as read (steps in 250ms)

Conclusion / Participation
What do you think? Are the requirements sufficient for your workflow or do you think we have to add or remove something? We are looking forward your ideas. Please join the discussion at the KDE forums thread "The Future of Kontact".

Finally kodus go to Michael Bohlender, Christian Mollekopf, Andreas Kainz, Uri Herrera, and Jens Reuterberg who discussed the topic at Randa. Also big hugs to the mobile HIG team with Thomas Pfeiffer and Alex L.
Images were made with Balsamiq Mockups. The source can be downloaded from KDE share.

My Wishion of KDE – Prelude

Wed, 2015/09/30 - 11:04pm

Now or never – that’s what I thought yesterday when I wrote the notes for this blog post down. Although it might be a bit too dramatic. Yesterday night frustrated me and even made me angry about things going on in KDE. And thus I think and thought it’s finally time to start my blog series. Over the next weeks I’d like to write a blog series with the title My Wishion of KDE. Over the last two years I collected many thoughts and notes and with this blog post I’ll put some more pressure on myself to finally arrange these notes and ideas and finish the blog posts and publish them.

And I want to do this as well because most of the time I prefer to improve things and progress them, fix them, do the work rather than just rant and criticize (destructively, constructive criticism is great and important) and it’s Free Software in its core as well: just do it (others might or will follow).

There are quite some things failing inside KDE but I heard there was quite some positive energy this year at Akademy and we just finished/ended the longest Randa Meetings yet and although these meetings were for me quite exhausting they were another great success and almost the size of half of Akademy this year. Just compare the group pictures. And I met again some great people, new and old, young and old, with great ideas, a lot of energy and willingness to put in some energy and with the incubator projects I sponsor there was and is even more enthusiasm coming to KDE.

So this is the introduction or first part of my series about my Wishion of KDE. With this word creation I’d like to underline the ambiguity of my wishes for KDE on one side and a vision for KDE on the other.

The herewith starting or preluding blog series will have four parts. And the following questions will guide these single blog posts:

  • Where are we now? What is KDE currently?
  • Where and how do I see KDE in the future and the coming years? And where do I think KDE should go?
  • What should we do and change to reach this future?
  • How could we do this and what to achieve this wishion? What could I offer and how could you support me in this?

As I wrote this is my Wishion and thus just MHO (my humble opinion). Nonetheless I think that with the work I did in KDE, in several areas and for quite some time I’ve got a good overview and insight and thus think my Wishion might be of some interest for other people too.

If you like this, please spread the word, translate this blog sories, ask, comment, tweet and Co (I’m not the “social media” guy although I think that I’m quite social and use IT for almost two decades now in a very social way).

Read you soon. At least next week.

flattr this!