Friday, December 29, 2006

because we can

i slept in this morning, mostly due to staying up late hacking last night. that and i hate mornings. so the more of them i miss the better i figure life is ;)

but today's dev wiki friday ... and so now that i've taken care of errands that needed running and lunch (mmm.. roasted red peper soup and whole grain bread!) i'm off to #kde-www on irc. i see there are already several dozen edits on the wiki.

how do i know this? because you can track changes by subscribing to this RSS feed. in fact, if you go to the recent changes page you'll see the little RSS icon pop up at the bottom of the window. well, assuming you're using a decent browser like konq. =) click 'n add and track how we're doing.

if you had been subscribed yesterday, you may have noticed the oxygen team starting to accrue documents there. kde4 may well be the first kde release with comprehensive documentation on creating art elements for the platform. woo-hoo!

i also came across Benoit Jacob's blog entry on eigen. it's a math library written in and for c++ (and language that bind to it) that does precisely what they needed and wanted: the ability to perform the math needed for things like controlling cameras in opengl scenes.

the example app, shown in a screenshot to the right, is 122 lines of code most of which is setting up the opengl scene. you can pan and zoom freely and completely smoothly through the scene in 3 dimensions. the cpu monitor doesn't even twitch on my laptop as i zoom around; the beauty of rendering on the graphics chipset. the part eigen plays is to manage the 4x4 matrix used to manipulate the camera based on mouse movement. this is done with 4 lines of code, 2 for the left mouse button actions and 2 for the right mouse button actions.

it's interesting to see these kinds of frameworks emerging. and by "these kinds" i mean things like kimagefx, zack's work on a physics engine, canvases (a simple one, kboard, and a complex one, qgraphicsscene), svg, eigen ... (hm. zack's involved in 3 of those things). this work will allow us to experiment with new ideas quite easily and efficiently.

and why are we doing this? because we can. we don't need to justify it further than "it's fun to do", "this is going to be so freaking cool!" or "because i want to". we don't have financial bottom lines to justify, market researchers to appease ... and i firmly believe that in the end this creates a better user experience. it's not about buzzwords we think will hook people or investing in visual polish enough that the rough ugly boringness gets hidden beneath the rug, but actually creating something that's interesting to use and, perhaps even more importantly, interesting to create with.

1 comment:

Chani said...

wow. that is one shiny wiki! it makes me want to help... but... I just don't seem to have any energy right now.