Posts

N810 Multitouch F-F-F-Fun

I'm back from vacation, summer went fast as always! Tried to stay away from computers, spending the time with family & friends and enjoying the weather while it lasts... But I did have little coding fun also, testing how well "multitouch" would work in N810 ;-) Here comes video: Update: Like all respected magicians, I'll show how this trick works for the ones who didn't already know the behavior of (resistive, single-touch) touchscreens under multiple touches. As thp first commented, it is "using the 'merged' blob position that you get with the single touch screen and interpreting it as the middle of two or more equal-pressure points". Now here is a video showing the same demo in PC, with "cheat mode" turned on: So it's mostly useless... but somewhat f-f-f-fun :)

Carl Worth, performance, GtkPerf

Carl Worth blogged here about Cairo 2D performance measurements: Various attempts at 2D-rendering benchmark suites have appeared and even become popular. Notable examples are x11perf and gtkperf. My claim is that these tools range from useless to actively harmful when the task is understanding performance of real applications. ... Unfortunately, the workload of things like x11perf and gtkperf rarely come close to simulating practical workloads. Should I be offended and sad as someone as respected as Carl blames my precious GtkPerf? Well of course not! Citing myself from GtkPerf website : I know that bencmarking tools (including GtkPerf) can be fooled and don't give real-life results. Yet, I belive that GtkPerf can be helpful to solve for example this kind of things: ... So as seen, I fully agree (and have always agreed) that GtkPerf is not the tool to use for getting real-life application performance measurements. But what it is, is a very easy and fast way to get a view of the GT...

Qt opens some more

I think offering Qt with LGPL was already a good change towards openness, but now Qt opens some more with public Gitorious repository !

Qt Animation framework

I've been working recently with Qt Animation Framework , trying to learn how to utilize it efficiently. Below is a video showing circular carousel widget which uses the animation framework. I need to still continue experimenting how to really extend the animation classes and use the whole state machine framework, but so far I'm impressed by the latest 2.2 API version. Originally my biggest concern about this whole "Kinetic" was that it would be too high-level and have suboptimal performance in embedded devices, but luckily that doesn't seem to be the case. Now with Qt 4.5, QGraphicsView starts to be very usable also in N810 and one just needs to know tips & tricks how to utilize it efficiently. Below is the same carousel widget in N810, using the "raster" graphics backend: FPS up there means how many times QGraphicsView paintEvent() is called, so it drops when more drawing to view is needed, but stays quite healthy & usable anyway. Back to coding...

Latest OpenGL release

Image
OpenGL 3.1 was released few days ago, and after the OpenGL 3.0 release fiasco, there are good news: OpenGL is not dead! This 3.1 release is getting close to what has been waited for long time and what was promised already in SIGGRAPH 2007 OpenGL BOF, offering new beginning for OpenGL in modern programmable GPUs without huge fixed API. Backwards compatibility is still hanging around with "GL_ARB_compatibility" but the future for clean cross-platform 3D API looks now much brighter than few months ago! Go on and download latest OpenGL 3.1 and GLSL 1.4 specifications from OpenGL registry !

UI Pimpin'

Image
The Qt widget contest results have been announced and although segway slipped away this time, we got our 15s of fame with AnalogPad! But what I want to share here is the story behind our entry: Most importantly: Although only my name is mentioned there, it was full teamwork with my brother Kim "The Webkit" Grönholm! All started when I got backflash about the competition due after christmas and decided to hack 5-way analog navigator I designed and implemented the thing for 2 evenings, it started to look OK but behaved badly... Kimi offered to join the fun, although he happened to be in Korea(!) at the same time So last 3 days before the due, I spent my evenings with this, sent sources to Kimi and received fresh code for next evening I implemented mostly features, Kimi fixed them to work nicely and cleaned the code. Time difference between Finland and Korea didn't matter, it just added extra coolness into this co-operation as we worked kinda in two shifts! And the rest is ...

Happy New Year!

Here is our teamwork results for Qt Software " Pimp My Widgets " Developer Contest: Hacking was fun as always! Telling more about this later, but now: Happy New Year for you all!!!