QtOpenCL tested on my old machine

Qt Labs posted today an interesting blog post about OpenCL and how Qt will help developers to make OpenCL easier for them.

OpenCL is an open standard and a framework developed by nVidia, Apple and ATI that let’s programmer run a piece of code on the GPU (or in parallel simultaneously on the CPU too). The power of OpenCL comes from the fact that our GPUs are much more powerful than the normal CPUs and they are massively optimized to run code in parallel. By offloading the CPU from heavy calculations and by running the calculations in parallel on the GPU, we can achieve some very impressive performance boosts. I’ll present the results on my machine below.

QtOpenCL is Qt’s way to help us with OpenCL. It will, according to the blog post

The QtOpenCL library wraps the OpenCL 1.0 API in a Qt-style API.  It takes the pain out of OpenCL initialization, program compilation, and kernel execution.  It also provides convenience functions for interfacing to existing Qt facilities such as QImage and QtOpenGL.

Read more

Playing around with QML, Part 1

I have been intrigued by QML ever since I saw the first demos online at Qt Beta Labs. Creating beautiful UIs, fast and with great animations is not easy with the current programming tools at hand. This is arguably the problem Qt is trying to solve with QML. I think they are doing great and this is the way to do UIs in the future, but I found some interesting issues with QML while playing around with it last evening.
Read more

Nokia UI Extensions for Mobile compiled in Ubuntu and Maemo 5 SDK

Nokia has released a technical preview of their second Qt and C++ based UI Framework (the first being Maemo 6 UI Framework) called Orbit or DirectUI, this time with the name UI Extension for Mobile. Source code is publicly available under the LGPL license at Gitorious: http://gitorious.org/uiemo. I need take a closer look at the source code, but my initial impression is that the APIs are clean and very Qt-like. Nice job!

The nice thing is also that the source code compiled without problems in my Ubuntu 9.10 and in Maemo5 SDK with the latest Qt 4.6 packages. Unfortunately there are only two binaries (that I could find) included called hbthemeserver and themechanger.

I have a screenshot of themechanger below. This is the only actual application and glimpse of the UI framework in action (please let me know if  you find anything else!).

Yes, it runs in Maemo5 too :)

A proper Twitter client for the Nokia N900

I use TweetDeck on my PC as my Twitter client and before that Gravity on my Nokia 5800 S60 phone. But I haven’t yet found a proper Twitter client for my N900. Mauku has been there since the beginning and Witter is one of the newest additions to Twitter application on the N900, but both of them seem to be still work in progress and lack some important features. I am a fairly active Twitter user (Tweetdeck is occupying my secondary monitor on my PC :) ) so naturally I have been waiting for a proper Twitter client for my N900 too.

But I need to define what proper means. I want my N900 Twitter client to have a very good timeline view. Something that Gravity and TweetDeck have, with clear colors and avatar images. I also want to have separate views of my (hashtag-)searches and tweets that mentioned me.  And of course it has to be simple to switch between these views. I also want to have some basic functionality in my mobile Twitter client such as opening URLs from Tweets, re-tweets and @-replies – direct messages are then probably not difficult to add, but I don’t use them.

The overall look ‘n feel has to be nice. This means the kinetic scrolling must be fluent for the timeline view.

Adding friends and searching for friends are maybe secondary features as my Twitter usage on the N900 would anyway me more fast paced and wanting to have an overview of what is going on.

This would be proper Twitter client in my opinion. If I ever start working on such a project, I would do it with Qt in C++. But I would probably not use QWidgets and the native user interface on the N900, but do it in GraphicsView instead for more control of the widgets and items. This would also allow me to use the Animation Framework with the Qt State Machine. I can already imagine how to utilize those for the items in the list and new tweets :)

What would your proper Twitter client be for the N900?

My new professional blog

Welcome to my new blog. I already have an other blog hosted at Blogspot, but I decided to move my blog to en other hosted server I have better access to and use WordPress as the publishing platform. I got some very nice experience with it after we set it up at work for an internal project. It really was 5 minutes and everything worked. Amazing!

The idea for this fresh blog is to collect my ideas and thoughts as a professional software engineer. The earlier blog I had was more of a diary type but I wanted to change that. You should check out my collegues, Zchydem’s, blog, because he has been doing this for a long time and he already has some very cool posts!

I am a software engineer developing Qt in C++ and a Scrum master for a Maemo development team. These are the topics you can expect to hear from me. Stay tuned :)

A week with the Nokia N900

The Nokia N900 is probably the hottest new mobile device out there right now. I received my N900 a little over a week ago at the Maemo Summit 2009 in Amsterdam. As you probably already know, Nokia was kind enough to give an N900 for a 6 months loan to every summit attendee so we got our N900s well before anyone else. You can only imagine the amazement in the crowd when Vice President of Maemo Devices in Nokia Mr. Ari Jaaksi announced the news in his key note. Nokia just got 300 very happy community member friends!

Read more

My Master’s Thesis


Master’s Thesis
Originally uploaded by Kypeli

One final time. This time with covers and all :)

P.S. get it here: http://www.johanpaul.com/thesis_johanpaul.pdf

Thesis: Quantitative Approach for Lightweight Agile Process Assessment

Yes, I have finally finished my Master’s Thesis. And I must stress, finally. Some spell checking might still occur and I will print it next week. But I am quite pleased with what I current have. I am more than happy to receive any feedback and comments on my theses!

My thesis is about about our experiences at Plenware Oy on how to assess the agility of a process in a lightweight fashion, but still to be accurate and to support the Software Process Improvement (SPI) initiative. We came up with the idea that the assessment could be a set of predefined questions that could be easily answered by taking process metrics from a project management tool. The answers would be compared against reference answers and points would be given based on the assessment. Finally, a weighted sum gives the agility of the process.

The same approach could be implemented for other assessments, but our goal was to assess the agility of the process. The processes were in a transition phase to go towards agility and it was important to be able to measure the agility in a lightweight fashion.

I express my deepest sense of gratitude to my supervisor PhD Luka Milovanov at Plenware Oy for assisting in writing of this thesis.

Here’s the abstract:

One focus in software development is to achieve high quality without loss of agility in the development process. In software engineering an agile development process is able to react to frequently changing customer requirements and also able to develop the software in small well tested increments. This is not an easy thing to do and will not emerge on its own, but requires well optimized and continuously improved software development processes. The quality of a process can be assessed by some external audits but they usually are heavyweight and costly processes. To measure the quality and follow the improvements in a process a lightweight assessment method is desired.

In this thesis I will look at Software Process Improvement (SPI) paradigm from the perspective of both Reference Process Models and the Experience Factory (EF) infrastructure. Then, I will present a quantitative lightweight process assessment method for agile projects. This method allows the assessment of a process in less than two hours. The method yields numeric results of the agility of a process in a lightweight fashion. I will conclude by stating that the work done in this thesis is only indicative of this kind of assessment for agile processes there is a need for further research. The results presented here result from the current need in Plenware Oy related to SPI evolvement.

Here’s the PDF: Quantitative Approach for Lightweight Agile Process Assessment

Return top

Hi, I am Kypeli

I am a software engineer working on Qt development in C++ and in the MeeGo handheld UX environment. Here you find my thoughts on various topics ranging from software engineering and design to Qt and MeeGo.


Follow me on Twitter. My CV is here.