Monday, June 18, 2007

plasma.progress();

dannya asked me tonight what had gone on with plasma this last week and when i looked over the commits it sort of surprised me how much had =)

ruphy did up a little screen cast showing the new icon hovers, but most of the rest of things happened beneath the covers. tomorrow i'll be doing a screencast of the new phase/animator framework that lets us do these transitions using plugins which both makes these transitions more consistent across the desktop as well as letting us bump the eye candy up or down depending on what the user wants or their hardware is capable of. the icon fade in/out will be used by several elements on the desktop, for instance, though it could be replaced with no effect (better for thin client systems) or something even more wild. anyways, more on that in the screen cast tomorrow.

there are a number of new data engines in the works, including ones for solid. upon getting it together and compiling, chris blauvelt tested it in the plasma engine explorer and found it worked right the first time. when someone comes in and learns api's from scratch like solid and plasma, write some code using them and it just works ... that makes me smile a happy smile.

i also fixed some annoynaces in the engine explorer for chris and added a couple features for shawn "the weatherman" starr. what was just a testing app for me that i figured others might find useful for debugging is becoming a rather handy little tool. as the number of engines grows i feel increasingly bad every time i adjust the api. i have one more set of functionality (source configuration) to add and then (i keep telling myself) i'm done screwing with it for 4.0. having these other engine efforts going on has been great, though, as every flaw in the api gets found almost immediately. hanging in #plasma is fun when this happens because someone will ask a question about the api and i'll go "oh crap....", hack for a bit, commit and then answer, "svn up". very satisfying.

i also finished up and then merged in the plasmagik package stuff into libplasma. hopefully it'll migrate to kdelibs for 4.1 after we've kicked the crap out of it in workspace/. the way it works is the app defines a package structure and this gets used to guide the user in creating the package (there's a little UI for this that's still in playground but will make it out in the coming weeks) as well as for pulling files out of the packages. this forms a nice, self-documenting "contract" between the app and content creators. right now there are package structure defs for plasmoids and svg theme packs. i'm sure we'll get more over time in plasma =)

i'll be showing off plasmoid packages in next week's screencast, methinks.

and speaking of svg theme packs, the oxy artists have started working on various bits of final artwork for things like krunner. their work is looking really hot and while it's getting down to the wire as far as time goes (only another 5 or 6 weeks for new features!) i think we're going to come out of it with some truly beautiful as well as functional bits. i hope to be able to screencast krunner in a couple weeks with the new layout and design.

but this week is all about writing my presentations for akademy, data source config, writing a techbase tutorial on writing data engines, implementing save/load of layouts and panels. i have a rather nasty/cool idea for how to do the latter using only one graphicsscene for all the panels as well as the desktop. model/view and, for planting the idea, kevin both rock my world. we'll see how it all works out.

2 comments:

Anonymous said...

Hi Aaron,

Damn - the rate of progress here is phenomenal - that's one in the eye for the Plasma naysayers (of which, I must admit, I was once one :/)

Incidentally, Ruphy's icon demo hit Digg and got Dugg up very quickly, with a lot of positive comments, such as

"KDE4 honestly looks to be one of the most exciting projects I've seen in a while. You hardly see this kind of innovation and polish outside of Apple, let alone an OSS project."

So it looks like KDE4 is making waves! :)

Anonymous said...

Hi,
do you think it will be possible to do a "dataengine" to provide informations from Kopete (user state, avatars...) and link them to a plasmoid ?

I was thinking of a picture of my some of my IM contacts in a small button on my desktop who become grey or colored according to their state on Kopete...

(I'm just a simple user, not sure if this is something related to dataengine actually ;)