Wednesday, December 31, 2008

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!!!

Monday, November 3, 2008

Qt VKB

Realized last week that what I need (or want, luckily those match quite nicely these days) to do is a virtual keyboard prototype based on Qt... Got the basic UI in there during the weekend, so what we have now:



Works also in N810 but the performance is lacking, it's not totally fluid.

Plans:
- Have to figure out proper layout(s), wouldn't want to copy directly e.g. from iPhone or N810
- Support gestures and other usability tricks
- After this, make more eye candy, animations etc. Not too much, but to help usability
- Supporting word prediction and hit prediction is totally doable but would need more AI & grammar database integration, so not right now for this UI testing

Anyway: If you got good layout & feature ideas, please share!

Sunday, October 26, 2008

Brisbane

I was in Brisbane this week, meeting Tro..Nokia Qt / Qt Extended developers. Weather was kinda variable: Tuesday morning started as very nice and sunny, but before evening it was raining and thundering heavily... Not that there would have been time to enjoy fresh air anyway, we spent it pretty efficiently in office.


Personal outcome of the trip was:
  • Qt (Extended) 4.5 will rock! (Note: first technology preview was just released)
  • Future Qt versions will rock even more ;-)

Special thanks goes to Aaron, for good discussions and for having similar UI thoughts as yours truly. Hopefully there is more time to spend next time!

Monday, September 29, 2008

QEdje

During the weekend I tested briefly QEdje 0.3.0, here are my thoughts:
  • QZion canvas which is used for graphics rendering in QEdje has two implementations: QPainter based and QGraphicsView based, former being currently faster in embedded environments lacking FPU power. QZion API is still very light, containing basic canvas objects (rectangle, image, text) with under 2kLOC / implementation.
  • QEdje is the real beef, containing parser for Edje theme files. What I like about Edje format is that it's not based on XML and it still gets compiled into binary mode when deploying, which should minimize the theming performance hit. I tested now only with provided samples, have to check how QEdje handles more complicated Edje themes.
  • Thinking why Edje, Evas, E17 etc. haven't become more popular, is the reason technical, just (lack of) community or what?
  • My ideas for QEdje developers would be to concentrate more on QGraphicsView backend as it offers more features and should get nice boost with performance improvements in Qt 4.5. Think if inheriting QGraphicsWidgets as QZion objects would offer more than current QGraphicsItems, like layouts and native QWidgets with QGraphicsProxyWidget. IMO Clutter API is currently a good compromize between features and simplicity, so analyze it and copy all suitable ideas into QZion ;-)

I have to study some more Edje format and whether QZion is already providing "enough" features for it, please comment if I have missed something obvious here.

Wednesday, September 24, 2008

Summit #3

...bit late here, but summing up visually what I really learned during the Maemo summit trip.

Watch out, there are bears also in Berlin! Although they seemed a bit more friendly and colorful than the ones living in our forests.







If (when) aliens attack, c-base is the place to go to locate suitable guns. GYR1 is reserved for me!








There are actually beer (ok, "beer") that I can drink!!










Shopping and eating should be handled in public side of Berlin airport, as opposite to Helsinki where most of the shops appear after checking in. Doing this prevents situations where all you eat whole day is bread-based...









Thanks to everybody attending and especially the ones who helped to organize the event!

Friday, September 19, 2008

Summit #2 (and Clutter)

As people have blogged (e.g. here & here), maemo will get Clutter support! On related news, haven't had time to really hack clutteroad forward but last time I left it looking this:

Summit #1

Yes, summit has started and Ari's opening speech was promising, meaning the future of more open maemo and nokia! (..and that we should trust Yannick even though he is French and appeared late here.. ;-)

Tuesday, September 16, 2008

Maemo Summit


I'll be having my part of fun later this week as I'm also attending to Maemo Summit! Together with Timo we'll arrive in Berlin on Thursday evening and leave on Saturday evening, so we should experience most of the scheduled sessions. By looking at the attendee list, there will be "long-time-no-see" -moments with many originals, but plenty of new faces have also appeared since my Ruoholahti-days. So waiting to meet you all!

Wednesday, September 3, 2008

Chrome


Yep, I tested the Google Crome and V8 also. But as there are so many reviews already floating in 'net, I'll just state: Google has entered nicely into browser war!

Monday, August 4, 2008

Thursday, July 31, 2008

Beagle Board #2

How am I involved with Beagle Board? Here are the steps to find out:

  • Go to Beagleboard Digi-Key training site.

  • Browse into slide 13 (and while on it, read all juicy details about bb!)

  • Spot "Clutter & Qt development" from there and compare it with my blog wordie output.


That's how. Waiting for mine to arrive from UPS!

Edit: OK, OK, those who want faster access, slide 13 with minor tips below.

Wednesday, July 23, 2008

Clutteroad

So as expected, I gave Clutter 0.8 a little test drive. Literally... =)



Going to add a bit more eye candy in there and push Clutter API further, we'll see what comes out. Currently the biggest problem is collision detection, tried to utilize:

  • clutter_stage_get_actor_at_pos() - Separated road & background into own images/actors, but having a problem that clutter_stage_get_actor_at_pos() doesn't seem to ignore the transparent part of the image in picking.

  • clutter_stage_read_pixels() - The RGBA color could be used to see if car is on grass (green) or on road (brown). But for some reason the outcome was not clear, even when making sure the pixel is taken next to car (not _from_ the car) and driving on top of a black&white chess board...


Collisions to other cars etc. should not be a problem with clutter_stage_get_actor_at_pos() but what could be cleanest way to detect the track? Flash has hitTest for this.

Friday, July 4, 2008

Thursday, June 26, 2008

Clutter

The 0.8 version of Clutter is coming out soonish from the excellent ohand people, containing again massive improvements! I started to love Clutter when 0.2 was released ~1.5 years ago, it was just so easy to create functional & eye candy applications with its refreshingly clean API.

All started with the question "How can one make effect [XYZ] using GTK+?" and after some pondering my answer was "You can't"... Of course these requested things would have been possible with Cairo (too low-level, hard & slow) and/or "just" forking GTK+ and adding ugly magic which would make it API&ABI incompatible with 2.x (no-no-no). After some studying Clutter appeared to be the best candidate for the job, and I had a lot of fun with it during 0.2-0.4 versions. Sadly GTK+ hasn't progressed much since then when it comes to GUIs, layouts & theming are quite static, timeline is not in, no native canvas etc. Luckily offscreen rendering is progressing in trunk and GTK+ 3.x work is going on so we have hope for sweeter future =)

Anyway, I've been spending recently most of the hacking time with Qt (and btw liking what trolls have done with Graphics View Framework in 4.4) but wanna-wanna-wanna refresh myself also with Clutter now when 0.8 comes out!

Thursday, June 5, 2008

Beagle Board


I'm waiting to get one of these in my hands!
The Beagle Board is a low-cost, fan-less single-board computer based on Texas Instruments' OMAP35x device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise.

Wednesday, May 28, 2008

T61 + Hardy == Perfect match?


I have always been a bit "late adopter" when it comes to upgrading into newer distro. As a Ubuntu user I switched my laptop into Hardy-time ~2 weeks ago, and for all you Lenovo T61 users: It's worth it! Currently I have no problems whatsoever, slight annoyances with Gutsy (wlan disconnects, screen brightness, HW-keys, suspend) are all working and haven't even found any regressions... =)

So I can fully recommend T61 as a nice Linux/Ubuntu workhorse for everyone, check ThinkWiki for configuration tips on different distros.

Now I'd need to make a clean install for desktop PC as upgrading it all the way from Breezy means it's not as sleek and clean as it could be... Not sure if I'm brave enough to test the Kubuntu KDE4 Remix -version Timo kindly offered, we'll see!

Sunday, May 18, 2008

GtkPerf & Qt


The reason why GtkPerf exists is that at that time I needed an easy tool to test the performance of GTK+ widgets & graphics. Mainly it was used to spot performance regressions and test how theme changes affected the performance, as well as different patches in GTK+.

There has been some requests like this floating around: "Would you also make QtPerf, with similar widgets and features. This way it would be possible to make GTK+ vs. Qt testing..."

Short answer: No

A bit longer one: No, that would be bad and could lead into unneeded flamings

Extensive answer: The actual result ( = score) of GtkPerf is quite meaningless as there are plenty of moving parts which affect to score. It would be totally possible to create similar application with Qt, using Qt widgets. But in wrong hands it could lead into "See, X-toolkit is faster than Y-toolkit, here are the results"-kind of things where X and Y can switch places based on the moon phase... So GtkPerf is mostly only usable when you know your system, do some tweaking, test again etc.

BUT: I'm considering implementing something to test performance of QGraphicsView, the canvas in Qt. This would test drawing speed, rotation, scaling etc. for different items, pimaps, widgets-on-canvas and so forth. In case there exist such tool already, please let me know?

Thursday, May 15, 2008

Hackergotchi

Ah, how can I have survived my life without a Hackergotchi! When inspiration strikes, I might try more cartoonish version and learn to use Inkscape like here.

Wednesday, May 14, 2008

Qt & N810

Aamos (just like his father) has always been into Gnomes, but for the past months he has started digging also Trolls. As a fee-minded father I have decided to let him play with them (Trolls don't bite, do they?), within certain boundaries. After all, you can't decide what/who you wanna hack with when you are older unless you try, right?

Aamos is still too young to sit (babies should not be standing/sitting on their own until ~3 months old), so today he decided to test Qt in his N810 using QTablet. This allowed him to enjoy Colliding Mice while laying on his playing carpet. I'm quite positive that after this he will open terminal in N810 and use vi to create some cool experiments testing the limits of Qt 4.4 in N810!

Tuesday, May 13, 2008

Blogging?

Pros:
  • Able to reveal for world what you're thinking & doing (like someone is reading...)
  • Everybody does it
  • Take a break from hectic work

Cons:
  • Might reveal something semi-confidential (so stay tuned! ;-)
  • Everybody does it
  • Your brake from work results to hectic increase..

Result: Bloggin is so 90's but so am I -> Here we go! [*]