my stay in brazil has been quite good. lots of new contacts made, several new friends and certainly an introduction to another vital culture. tonight a group of us went out karaokeing, and zack even got up and offered a rendition of new york new york with a few of the guys. the place also had a bowling alley, a pool hall and a dance club with a live band playing.
the taxi ride home was a bit of an adventure: the taxi driver that was driving zack and myself didn't know how to get to the hotel and had to stop to ask for directions. at one point as we were going through a small neighbourhood street with lots of graffiti everywhere and he slows down a bit, honks his horn and turns on an interior light. we were a little concerned about whether we were going to end in an "interesting" situation, but all was well. apparently just saying 'hi' to someone in one of the houses.
something else we noticed was the disparity between rich and poor here. there are slum neighbourhoods in the city made up of houses built out of corrugated tin and scavenged wood that are densely packed around small winding dirt trails. we passed one such settlement every day on the way to the fisl event.
other things i've learned about brazil:
0) there are certainly pretty women here, but not as many as i was led to believe by media back home. rather it seems the distribution is normal. =)
1) eating a dinner meal at 02:00 am: normal
2) bowling (or doing just about anything) at 02:00 am: normal
3) you pay your bar tab at a club on the way out. they give you a card on the way in and when you order a drink it gets recorded on this card. you clear your debt at the door.
4) walk signals on streets don't mean much of anything. watch out for cars going through the red light even if it says "walk".
5) they know how to pour a drink here
6) bbq has been perfected here (and i thought the koreans had that title, with south africans coming in close behind). this has come at the expense of vegetarian cuisine, however ;)
7) people are easy going, but knowing portuguese is a -definite- plus
8) it's a friendly place where there is much fun to be had
i hope to come back again next year and perhaps meet up with some of the people i met for the first time this year.
Sunday, April 23, 2006
Friday, April 21, 2006
fisl 3
it's the third day of fisl and we somehow ended up sharing a cab with stallman on the way to the conference centre. he's staying on the same floor of the hotel as us and as we walked to the elevator to go down to the lobby to catch the next bus he informs us that the last bus trip has been cancelled and that there are no more bus trips scheduled until the evening. ug! so we grab a taxi with another fellow (who kindly paid =) and chatted. i was sandwiched between zack and stallman as we talked about kde, free software, kde-look.org (frank, i need to chat with you =) and graphics hardware. stallman was impressed that we now use the term "free software" on our home page and that we are working more closely with the FSF.eu. he did live up to his hard-line reputation, of course, but it was a pleasant ride in. once we arrived people started asking to take pictures with him, for which we charged 5 real each. ha.
yesterday afternoon went very, very well. both zack and i spoke to packed rooms of 300+ people. there were many questions, tons of interest and a stream of pictures and handshakes. we made some good local contacts as well, including some acedemic researchers, students working on multimedia software, a fellow working on semantic desktop technologies (who i have to hook up with mandriva's efforts) and several local kde-based distributions. i even fixed a bug in kicker for one of the distributions at their booth: they are using a rather obscure feature that allows one to avoid kbfx for a fancy kde button altogether (i added it specifically for that purpose ;) but the text color feature wasn't working properly. it was a 3 liner fix and they were pretty happy and impressed to get that kind of service. i joked about travelling the world just to fix people's bugs ;)
we've met a lot of great people from the local enthusiast community and look forward to partying with them tonight at a bbq.
p.s. if you're vegetarian and visit this area, you may wish to bring some food with you ;)
yesterday afternoon went very, very well. both zack and i spoke to packed rooms of 300+ people. there were many questions, tons of interest and a stream of pictures and handshakes. we made some good local contacts as well, including some acedemic researchers, students working on multimedia software, a fellow working on semantic desktop technologies (who i have to hook up with mandriva's efforts) and several local kde-based distributions. i even fixed a bug in kicker for one of the distributions at their booth: they are using a rather obscure feature that allows one to avoid kbfx for a fancy kde button altogether (i added it specifically for that purpose ;) but the text color feature wasn't working properly. it was a 3 liner fix and they were pretty happy and impressed to get that kind of service. i joked about travelling the world just to fix people's bugs ;)
we've met a lot of great people from the local enthusiast community and look forward to partying with them tonight at a bbq.
p.s. if you're vegetarian and visit this area, you may wish to bring some food with you ;)
Thursday, April 20, 2006
fisl day 2
arrived yesterday at 13:30, went straight to the hotel and had a shower then hit the fisl 7.0 show floor. first stop was the infomedia booth where zack and i did a televised talk show (our own helio was the host). it went rather well and is an interesting way to get the word out. i've seen quite a bit of community-driven mass media outreach since coming here, ranging from informational booklets that are distributed in the thousands to the public to videos. i think the rest of the free software world could learn from the people here when it comes to getting the word out on a grass roots level.
i'm up in about 45 minutes to talk about kde4, and am hoping to be able to hack in some opengl support for the plasma icon demo i'll be showing. thanks to mandriva, i'll have a laptop with video out to do the presentation on ;)
i'm sitting in the insigne booth writing this, which is a local kde-based distribution. most of the computers on the floor (including all the public terminals) here are running kde and aside from the three macs at the infomedia booth, i haven't seen any proprietary operating systems. very nice.
i also just found out about an 80,000 system installation of kde in schools here in brazil. i'm sure it is common knowledge amongst the brazillians and even other latin and south american groups, but was news to me. i keep hearing about more installations in this part of the world along with various development and business initiatives. they really deserve more attention as role models and case studies down here...
oh, and the countryside is beautiful as well. not that i've seen much of it yet. mostly a stroll through some neighbourhoods around the hotel we're staying at in porto alegre last night and some very nice panoramas through airplane windows. hopefully i get to see a bit more of the outside world before i leave on sunday.
i'm up in about 45 minutes to talk about kde4, and am hoping to be able to hack in some opengl support for the plasma icon demo i'll be showing. thanks to mandriva, i'll have a laptop with video out to do the presentation on ;)
i'm sitting in the insigne booth writing this, which is a local kde-based distribution. most of the computers on the floor (including all the public terminals) here are running kde and aside from the three macs at the infomedia booth, i haven't seen any proprietary operating systems. very nice.
i also just found out about an 80,000 system installation of kde in schools here in brazil. i'm sure it is common knowledge amongst the brazillians and even other latin and south american groups, but was news to me. i keep hearing about more installations in this part of the world along with various development and business initiatives. they really deserve more attention as role models and case studies down here...
oh, and the countryside is beautiful as well. not that i've seen much of it yet. mostly a stroll through some neighbourhoods around the hotel we're staying at in porto alegre last night and some very nice panoramas through airplane windows. hopefully i get to see a bit more of the outside world before i leave on sunday.
Tuesday, April 18, 2006
j.
inanity alert! (you have been duly warned)
we really don't have enough "in" jokes in kde. most of the ones i'm familiar with arose several years ago and are less and less relevant / interesting / odd.
so here's a suggestion to cure that: my middle initial is j. turns out i'm hardly alone in this, being joined by thiago, wade and doubtless others. to take it to absurdity, i'm all for putting a middle 'j.' on everyone's soon-to-be-spiffy-and-available kde business cards. Eva J. Brucherseifer, Waldo J. Bastian, Sebastian J. Kugler, Dirk J. Mueller, George J. Staikos, Inge J. Wallin, David J. Faure, Matthias J. Ettrich .... you get the picture.
and as wade observed: "why 'j'? because it comes before 'k'!" can't argue with reasoning like that ;)
or we could be less obtuse and use K. instead of J. as a spin on the whole "why is everything named k-this and k-that?" thing. then people can explain when asked, "kde is my middle name!"
or perhaps this is why i never get to design things like business cards at the places i work. and with that, i think i've officially had too much coffee this morning. whew.
we really don't have enough "in" jokes in kde. most of the ones i'm familiar with arose several years ago and are less and less relevant / interesting / odd.
so here's a suggestion to cure that: my middle initial is j. turns out i'm hardly alone in this, being joined by thiago, wade and doubtless others. to take it to absurdity, i'm all for putting a middle 'j.' on everyone's soon-to-be-spiffy-and-available kde business cards. Eva J. Brucherseifer, Waldo J. Bastian, Sebastian J. Kugler, Dirk J. Mueller, George J. Staikos, Inge J. Wallin, David J. Faure, Matthias J. Ettrich .... you get the picture.
and as wade observed: "why 'j'? because it comes before 'k'!" can't argue with reasoning like that ;)
or we could be less obtuse and use K. instead of J. as a spin on the whole "why is everything named k-this and k-that?" thing. then people can explain when asked, "kde is my middle name!"
or perhaps this is why i never get to design things like business cards at the places i work. and with that, i think i've officially had too much coffee this morning. whew.
linked ... who?
so i finally joined the fun at LinkedIn yesterday. other social networking sites i've tried have been interesting from a social dynamics point of view, but not overly useful. the group of people on LinkedIn seem to be more relevant to me from a professional point of view, so this one may turn out different. we'll see... if it does work out, i may shift more of my networking there in general as i'd love to have a place to "put" that stuff.
it would be nice to see some social networking tools in kde as well.</random thought>
anyways, the reason i'm blogging about it is because i was invited by a gnome project participant (dave neary is a cool guy =) and about half an hour later i got a link request from one of microsoft's top evangelists in canada (who i do know personally, so it wasn't random ;). but i just thought it funny that my first two links on the site were a gnome and a micrsoft guy, both with marketing posts. ha.
it would be nice to see some social networking tools in kde as well.</random thought>
anyways, the reason i'm blogging about it is because i was invited by a gnome project participant (dave neary is a cool guy =) and about half an hour later i got a link request from one of microsoft's top evangelists in canada (who i do know personally, so it wasn't random ;). but i just thought it funny that my first two links on the site were a gnome and a micrsoft guy, both with marketing posts. ha.
before i rush out the door
today is another travel day. i'm pretty much packed, just have to do up some dishes in the kitchen before the shuttle comes to take me to the airport in 3.5 hours. took zack (who i'll see again tomorrow at FISL) to the airport yesterday; feels like it's my second home sometimes.
thanks to the diligence of eva and the marketing working group, we're finally getting business cards for e.V. members and those who do KDE business. great work everyone!
plasma devel continues forward, despite my laptop slowly breaking down. i've resigned myself to the fact that i'll be needing to get a new one here real quick. once there's a new qt 4.2 snapshot and that makes it into qt-copy, i'll be able to check in more of my plasma work (which depends on, among other things, qgraphicsview). zack made great progress on qt-svg in the last couple of days as well, so that's all coming together.
also, many people have asked about searching in kde4. i've been talking with mandriva (thanks for hooking us up, tackat!) and they have hired a number of new bodies to work on kde4 and one of the tasks they are undertaking is working with the nepomuk project to bring the social/semantic desktop tools they are building to maturity with hooks into kde4. i was getting concerned about what direction we'd have for search in kde4, with beagle not really being what i wanted from a design perspective, kat taking a long time to mature and tenor stuck in the doldrums (though i have seen wheels around more again, which is very nice). i may yet be able to put some of the plasma contextualization features i had punted out to 4.1 into the 4.0 release. it's still early days, but good news that there are people working on this stuff full time now. (another couple of mandriva hackers will apparently be working on kde4 itself. thanks mandriva!)
it was really nice to see the kde commit digest back in action. kudos to danny allen for taking that on; it's a great asset to the community. then there was the first release of try kde, which is another canllaith project. i'm excited to see where that goes.
google's second "summer of code" is getting underway as well, so if you are a uni student be sure to submit your kde, koffice, kopete, etc ... proposals sooner rather than later. i hope to see a good number of realistically achievable and practical projects this year.
and with kde4 development actually starting to gather steam and spring having arrived, it feels like winter (both literally and metaphorically) is finally behind us.
cool/odd note: searching for open source on google video i'm on the first page ... twice. zoinks. i ought to get the video from mexico up on the net as well.
thanks to the diligence of eva and the marketing working group, we're finally getting business cards for e.V. members and those who do KDE business. great work everyone!
plasma devel continues forward, despite my laptop slowly breaking down. i've resigned myself to the fact that i'll be needing to get a new one here real quick. once there's a new qt 4.2 snapshot and that makes it into qt-copy, i'll be able to check in more of my plasma work (which depends on, among other things, qgraphicsview). zack made great progress on qt-svg in the last couple of days as well, so that's all coming together.
also, many people have asked about searching in kde4. i've been talking with mandriva (thanks for hooking us up, tackat!) and they have hired a number of new bodies to work on kde4 and one of the tasks they are undertaking is working with the nepomuk project to bring the social/semantic desktop tools they are building to maturity with hooks into kde4. i was getting concerned about what direction we'd have for search in kde4, with beagle not really being what i wanted from a design perspective, kat taking a long time to mature and tenor stuck in the doldrums (though i have seen wheels around more again, which is very nice). i may yet be able to put some of the plasma contextualization features i had punted out to 4.1 into the 4.0 release. it's still early days, but good news that there are people working on this stuff full time now. (another couple of mandriva hackers will apparently be working on kde4 itself. thanks mandriva!)
it was really nice to see the kde commit digest back in action. kudos to danny allen for taking that on; it's a great asset to the community. then there was the first release of try kde, which is another canllaith project. i'm excited to see where that goes.
google's second "summer of code" is getting underway as well, so if you are a uni student be sure to submit your kde, koffice, kopete, etc ... proposals sooner rather than later. i hope to see a good number of realistically achievable and practical projects this year.
and with kde4 development actually starting to gather steam and spring having arrived, it feels like winter (both literally and metaphorically) is finally behind us.
cool/odd note: searching for open source on google video i'm on the first page ... twice. zoinks. i ought to get the video from mexico up on the net as well.
Saturday, April 15, 2006
brazil
received the flight itinerary for my attendance to fisl. turns out zack and i are taking different flights after all (unfortunate) and the schedule is a bit on the hectic side (40+ hours of travel over 5 days), but i look forward to meeting up with fellow kde and free software enthusiasts from the 19th-23rd in porto alegre.
with the terrific international kde cast that will be arriving (george staikos, zack rusin, david vignoni, helio de castro ... probably missing some names ) i'm sure we'll be able to raise kde's profile during the course of the event.
with the terrific international kde cast that will be arriving (george staikos, zack rusin, david vignoni, helio de castro ... probably missing some names ) i'm sure we'll be able to raise kde's profile during the course of the event.
birthday #6
yesterday was the p-man's 6th birthday. he had 7 guests over for a day of outdoor games (horseshoes, bocce, (nerf) sword play and water gun fights), gift giving (several more boxes of star wars lego; a monster truck; really nice pair of walkie-talkies; bunches of clothes), cake eating (dinosaur themepd white cake with a custard and fruit filling) and general enjoyment and mayhem over a 3 hours period. everyone had fun, and the weather was perfect for it.
happy birthday, p.! =)
happy birthday, p.! =)
over the cmake speedbump
i finally got things building in the kde4 branch again. qmake was reporting a different version number than everything else, so i rm'd the binary and it rebuilt properly. i discovered this was the problem after building a new rev of kdelibs and getting an odd error during configuration about the qt version being wrong. after digging through cmake files, i found the actual command that is run to check this and thereby finally discovered the problem. kdebase didn't even fail, however, it just silently built makefiles that didn't work. urg. better failure messages along with documentation to make up for the newness of cmake will make the transition period much easier on everyone.
so ... moving away from autohell was probably a good idea. cmake was probably our best choice. and it's currently a painful process. i don't like losing days of productivity to it, and i really don't like the thought of others going through the same. but ...
... i'm fairly confident that it'll work out in the end; i have great faith in the people who work on this project. we're not "in the end" yet, more in the middle. and along the way i think it is healthy to discuss what is working and what isn't working along the way.
so ... moving away from autohell was probably a good idea. cmake was probably our best choice. and it's currently a painful process. i don't like losing days of productivity to it, and i really don't like the thought of others going through the same. but ...
... i'm fairly confident that it'll work out in the end; i have great faith in the people who work on this project. we're not "in the end" yet, more in the middle. and along the way i think it is healthy to discuss what is working and what isn't working along the way.
Thursday, April 13, 2006
plasma data engines
the last couple of days i've been working on plasma data engines, a concept that we discussed on kde-panel-devel. it is a response to the following issues:
for precedence here we have superkaramba's library that provides easy access to information such as cpu and memory usage; we have libtaskmanager which provides information for the taskbars and pager from one data model of the windows; we have the weather dcop service. so they provide some nice prior art to build on.
a dataengine in plasma is a way to encapsulate a set of data (a "model") that can then be easily hooked up to a visualization on the desktop (which includes panels, floaters, etc). here's a quick overview of the pieces.
a datasource is a simple class that provides a standardized API for something that needs to communicate a state to the outside world every so often. it provides a standard signal signature (void data(const DataSource::Data&) where DataSource::Data is typedef'd to QHash), allows the update frequency to be set (still working out exactly how to handle it when different items request different update frequencies) and gives itself a name (unique to the engine). datasources are data-only; no visualization.
so a visualization doesn't have to concern itself with what exactly the data represents (CPU? memory usage? temperature?) nor with how it's retrieved.
an engine provides a semantic umbrella for a set of datasources as well as some management glue. each engine, along with its datasources, is loaded from a plugin via ktrader and is the gateway to the capabilities provided. in the current design they are assumed to be singletons.
it handles any initialization and post-usage cleanup needed, provides usage ref-counting, provides a listing of all its datasources (QStringList) and allows for a visualization to be connected to a DataSource. it also provides a query interface for on-demand information lookups.
engines will be provided for hardware, windows (the evolution of libtaskmanager), IM and more... essentially whatever can be dreamed up. beyond the datasources, engines can provide custom interfaces; so the taskmanager engine will provide signals and methods specific to window management. while that particular engine probably won't make a lot of use of datasource, it will still offer a simple and standard way to get at that API as opposed to today's custom linkage.
visualizations are (at this point anyways) qgraphicsitems that can be used in a graphicsview. they have a standard slot that takes a DataSource::Data parameter. from there they can decide how to display the data passed in, allowing any visualization to be attached to any datasource (whether that results in something meaningful being shown is another matter, of course).
a set of standard visualizations will be provided for use like lego bricks when building new applets so one doesn't have to create their own visualizations all the time.
this allows someone creating a new applet to do something along the lines of:
done. this way applets don't have to have any direct dependencies on engines since all standardized interaction happens via the applet base class which in turn passes requests to PlasmaAppInterface for fulfillment. some applets will need to depend on given engines directly, still, however for specific functionality (e.g. the taskmanager engine's stuff). i haven't (yet? ;) figured out how to abstract out such custom functionality that doesn't map nicely to the "data received, now display it" model that covers most needs without making it stupidly complex.
plasma sits in between all this insanity and provides loading and unloading of engines, calling the appropriate engine methods (e.g. connect) when requested from applets, managing ref counting (it knows about applets, engines don't, so it needs to tell an engine whenever an applet uses it and when it stops using it)
it's still a work in progress, but it's taking shape nicely. trying to keep it as simple as possible and once the design is somewhat working i will be documenting it with pretty pictures and articles on how to write engines, data sources and use them from applets.
i committed some draft code yesterday and if i could get kdebase compiling today i'd commit some working code that builds on that =/ oh well, soon enough i'm sure.
this is all a bit of a departure from how most applets have been written, both for kde and other platforms. my hope is that it allows people with domain specific expertise (e.g. window manager devs or hardware gurus) to provide low-barrier ways to get at that information while making it stupidly simple to create new widgets that do cool and useful things.
things that this design does not account for are needs like a standardized set of web tools (screen scraping, a class that wraps khtml to make it a one-liner for applet artists to get a canvas to draw on, etc) or standardized applet treatments, but these are completely different parts of the challenge that is plasma so that's ok. but they'll get similar treatments, so that all widgets can use the same brush (which may be a pixmap, a gradient, etc) quite easily for consistency.
- writing things like cpu monitors, pim integration and IM status updaters is neither trivial nor "fun" so it should be done exactly once wherever possible
- certain kinds of information (e.g. windows) are used by multiple desktop components (e.g. taskbar, pager, window lists) but that information shouldn't be duplicated everywhere
- getting certain kinds of information takes time (e.g. the weather information) and shouldn't interfere with interactivity
- artists and casual applet developers should be able to create new bobbles without having to become immersed in how the gritty details of things work if someone else has figured it out previously
for precedence here we have superkaramba's library that provides easy access to information such as cpu and memory usage; we have libtaskmanager which provides information for the taskbars and pager from one data model of the windows; we have the weather dcop service. so they provide some nice prior art to build on.
a dataengine in plasma is a way to encapsulate a set of data (a "model") that can then be easily hooked up to a visualization on the desktop (which includes panels, floaters, etc). here's a quick overview of the pieces.
datasource
a datasource is a simple class that provides a standardized API for something that needs to communicate a state to the outside world every so often. it provides a standard signal signature (void data(const DataSource::Data&) where DataSource::Data is typedef'd to QHash
so a visualization doesn't have to concern itself with what exactly the data represents (CPU? memory usage? temperature?) nor with how it's retrieved.
dataengine
an engine provides a semantic umbrella for a set of datasources as well as some management glue. each engine, along with its datasources, is loaded from a plugin via ktrader and is the gateway to the capabilities provided. in the current design they are assumed to be singletons.
it handles any initialization and post-usage cleanup needed, provides usage ref-counting, provides a listing of all its datasources (QStringList) and allows for a visualization to be connected to a DataSource. it also provides a query interface for on-demand information lookups.
engines will be provided for hardware, windows (the evolution of libtaskmanager), IM and more... essentially whatever can be dreamed up. beyond the datasources, engines can provide custom interfaces; so the taskmanager engine will provide signals and methods specific to window management. while that particular engine probably won't make a lot of use of datasource, it will still offer a simple and standard way to get at that API as opposed to today's custom linkage.
visualizations
visualizations are (at this point anyways) qgraphicsitems that can be used in a graphicsview. they have a standard slot that takes a DataSource::Data parameter. from there they can decide how to display the data passed in, allowing any visualization to be attached to any datasource (whether that results in something meaningful being shown is another matter, of course).
a set of standard visualizations will be provided for use like lego bricks when building new applets so one doesn't have to create their own visualizations all the time.
widgets / applets / plasmoids / plasslets / whatever they get called
this allows someone creating a new applet to do something along the lines of:
loadEngine("hardware")
Graph g
connect(g, "hardware", "cpu")done. this way applets don't have to have any direct dependencies on engines since all standardized interaction happens via the applet base class which in turn passes requests to PlasmaAppInterface for fulfillment. some applets will need to depend on given engines directly, still, however for specific functionality (e.g. the taskmanager engine's stuff). i haven't (yet? ;) figured out how to abstract out such custom functionality that doesn't map nicely to the "data received, now display it" model that covers most needs without making it stupidly complex.
plasma's role
plasma sits in between all this insanity and provides loading and unloading of engines, calling the appropriate engine methods (e.g. connect) when requested from applets, managing ref counting (it knows about applets, engines don't, so it needs to tell an engine whenever an applet uses it and when it stops using it)
current status
it's still a work in progress, but it's taking shape nicely. trying to keep it as simple as possible and once the design is somewhat working i will be documenting it with pretty pictures and articles on how to write engines, data sources and use them from applets.
i committed some draft code yesterday and if i could get kdebase compiling today i'd commit some working code that builds on that =/ oh well, soon enough i'm sure.
leaving thoughts...
this is all a bit of a departure from how most applets have been written, both for kde and other platforms. my hope is that it allows people with domain specific expertise (e.g. window manager devs or hardware gurus) to provide low-barrier ways to get at that information while making it stupidly simple to create new widgets that do cool and useful things.
things that this design does not account for are needs like a standardized set of web tools (screen scraping, a class that wraps khtml to make it a one-liner for applet artists to get a canvas to draw on, etc) or standardized applet treatments, but these are completely different parts of the challenge that is plasma so that's ok. but they'll get similar treatments, so that all widgets can use the same brush (which may be a pixmap, a gradient, etc) quite easily for consistency.
cmake sadness
my non-coding duties in kde had eaten into my coding time noticeably, but good stuff comes of it so it's a worthwhile use of time. the introduction of cmake, however, has redefined "waste of time" for me. today i get this:
Building CXX object libkonq/CMakeFiles/konq.dir/konq_popupmenu.o
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:21:18: error: qdir.h: No such file or directory
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:23:19: error: QPixmap: No such file or directory
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:24:21: error: klocale.h: No such file or directory
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:25:26: error: kapplication.h: No such file or directory
etc, etc... i've wiped out both source and build kdebase dirs, i've updated cmake from cvs. .. nothing. making it nearly impossible for me to make progress on anything i'm working on in kdebase. like plasma. compiling and testing code is overrated anyways, right? ;)
between how much slower cmake is and the constant breakages that i have no idea how to fix (like the NOGUI in kdesu/kdesud/CMakeLists.txt not working, even though i have the latest cmake modules installed from kdelibs that seem to include something about it) i really, really, really hope that it improves dramatically over the next month. we don't need a build system holding us back. i understand the need for something better than autotools, but in my book the baseline for "better" is "actually builds reliably". meh.
Building CXX object libkonq/CMakeFiles/konq.dir/konq_popupmenu.o
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:21:18: error: qdir.h: No such file or directory
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:23:19: error: QPixmap: No such file or directory
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:24:21: error: klocale.h: No such file or directory
/home/kde/kde4/kdebase/libkonq/konq_popupmenu.cc:25:26: error: kapplication.h: No such file or directory
etc, etc... i've wiped out both source and build kdebase dirs, i've updated cmake from cvs. .. nothing. making it nearly impossible for me to make progress on anything i'm working on in kdebase. like plasma. compiling and testing code is overrated anyways, right? ;)
between how much slower cmake is and the constant breakages that i have no idea how to fix (like the NOGUI in kdesu/kdesud/CMakeLists.txt not working, even though i have the latest cmake modules installed from kdelibs that seem to include something about it) i really, really, really hope that it improves dramatically over the next month. we don't need a build system holding us back. i understand the need for something better than autotools, but in my book the baseline for "better" is "actually builds reliably". meh.
Wednesday, April 12, 2006
bleh
started in on the engines/data-source/display classes for plasma and X decided to disappoint by mucking up mouse interaction. so i went to exit and instead rebooted the machine (wasn't really paying attention at the time). when the laptop came back up the external monitor would no longer display though the laptop detected it when plugged in. the monitor itself still works as when i plug it into one of the desktop systems it springs to life. just the laptop. this is very disconcerting. and demotivating (didn't really get a whole hell of a lot accomplished thus far today); staring at the laptop's LCD is ok, but i much prefer the larger, crisper CRT. *sigh* not sure if this means i'm on the way to having to get a new laptop.
congrats to the koffice team on getting 1.5 out. the tour page is rather nice too (a few more shots of kword and kspread would've been nice too =)
congrats to the koffice team on getting 1.5 out. the tour page is rather nice too (a few more shots of kword and kspread would've been nice too =)
Tuesday, April 11, 2006
icons
the funny thing about icons for files is that they are pervasive and yet the most complex thing on our desktop. you can left click them, right click them, select them, open them, perform actions on them, drag them .... all on a little patch on the screen that has no documentation or helper information. to add insult to injury most desktops expect the user to master double clicking. oooh, what fun!
so while working on plasma today i decided to see what a pet idea of mine might look like. i was building the start of what might become the desktop and panel areas on top of qgraphicsview when i decided to create an icon item that supports a mouse over interface. i looked at some mockups ken wimer did last year after we had discussed this concept in berlin and started hacking.

here's how it works: when you pass the mouse over an icon (as oppose to whip the mouse over the icon) the icon blurs slightly as an overlay fades in smoothly (takes <.2s, though it's instantly interactive). this results in a self-documenting, single mouse button interface being displayed. selected icons show their status by keeping a "clip-board" version of the overlay showing. dragging an icon hides the interface, but keeps the overlay to make it obvious which icon you're working with. on moving the mouse off the icon the overlay fades away. it's all anti-aliased, translucent, flicker-free, organics goodness. focus is obvious, selection is obvious, action options are obvious. note that it also solves the "single click is great, but sucks for selection" problem.
right now the "interface" is text only. next will be to provide action icons so that it's not just three lines of text (2 lines of text, one line of actions; on selected icons i might put them on the top "folded" tab as well). it should also be trivial to add things like tagging via icons or overlay/outline colouring.
to really appreciate it, it has to be experienced since interaction and non-static feedback is such a big part of it. i was going to make a screencast until i discovered how crappy screencast creation tools on linux are =/ so a static crappy screenshot it is =P
if this works out, people shouldn't really notice all the tricks and come away feeling pretty unchallenged but content. i have yet to do actual user testing (though i have showed it to a few people locally), that'll follow in the coming weeks as it comes together a bit more. we'll see how it goes. maybe it becomes one more experiment gone nowhere. the challenges i see are that it is different from what people are used to and it does require larger icons, though that's not really a bad thing (esp when zooming enters the picture)
even if the mouse-over icon interface idea doesn't go far, it has provided a testing ground for several of the graphical features that plasma items will need common access to.
these will join other items in group items which, via qgraphicsview's zooming support, allowing for some zooming interface concepts to be worked in. zack's working on getting qsvg rendering to a qgraphicsview, which will help close some of the remaining open issues.
i've run into a few bugs in qgrahpicsview, have done no optimization work yet (waaaay too early for that =) and there's still lots of work to be done such as a global animation tick, further interaction work and tons of more features =)
unfortunately, qgraphicsview isn't widely available yet so i'm kind of stuck working on this privately at the moment. but it certainly seems to be the right tool for this job, even in the beta state the copy i have is in. as soon as qgraphicsview enters the world at large i'll be committing this stuff ...
will be interesting to see how far zack and i get on things by the end of zack's visit (another week or so). post-zack i'll go back to working on kconfig for a bit to get that wrapped up for kdelibs.
btw, "zatoichi - the blind swordsman" is an amazing movie. even in spite of the semi-random scenes that make the occasional appearance art-movie-style, this movie has it all: a great story, awesome swordsmanship, good cinematography and some rather interesting ideas on life and whatnot. maybe not the best date flick, but goes well with nachos.
so while working on plasma today i decided to see what a pet idea of mine might look like. i was building the start of what might become the desktop and panel areas on top of qgraphicsview when i decided to create an icon item that supports a mouse over interface. i looked at some mockups ken wimer did last year after we had discussed this concept in berlin and started hacking.
here's how it works: when you pass the mouse over an icon (as oppose to whip the mouse over the icon) the icon blurs slightly as an overlay fades in smoothly (takes <.2s, though it's instantly interactive). this results in a self-documenting, single mouse button interface being displayed. selected icons show their status by keeping a "clip-board" version of the overlay showing. dragging an icon hides the interface, but keeps the overlay to make it obvious which icon you're working with. on moving the mouse off the icon the overlay fades away. it's all anti-aliased, translucent, flicker-free, organics goodness. focus is obvious, selection is obvious, action options are obvious. note that it also solves the "single click is great, but sucks for selection" problem.
right now the "interface" is text only. next will be to provide action icons so that it's not just three lines of text (2 lines of text, one line of actions; on selected icons i might put them on the top "folded" tab as well). it should also be trivial to add things like tagging via icons or overlay/outline colouring.
to really appreciate it, it has to be experienced since interaction and non-static feedback is such a big part of it. i was going to make a screencast until i discovered how crappy screencast creation tools on linux are =/ so a static crappy screenshot it is =P
if this works out, people shouldn't really notice all the tricks and come away feeling pretty unchallenged but content. i have yet to do actual user testing (though i have showed it to a few people locally), that'll follow in the coming weeks as it comes together a bit more. we'll see how it goes. maybe it becomes one more experiment gone nowhere. the challenges i see are that it is different from what people are used to and it does require larger icons, though that's not really a bad thing (esp when zooming enters the picture)
even if the mouse-over icon interface idea doesn't go far, it has provided a testing ground for several of the graphical features that plasma items will need common access to.
these will join other items in group items which, via qgraphicsview's zooming support, allowing for some zooming interface concepts to be worked in. zack's working on getting qsvg rendering to a qgraphicsview, which will help close some of the remaining open issues.
i've run into a few bugs in qgrahpicsview, have done no optimization work yet (waaaay too early for that =) and there's still lots of work to be done such as a global animation tick, further interaction work and tons of more features =)
unfortunately, qgraphicsview isn't widely available yet so i'm kind of stuck working on this privately at the moment. but it certainly seems to be the right tool for this job, even in the beta state the copy i have is in. as soon as qgraphicsview enters the world at large i'll be committing this stuff ...
will be interesting to see how far zack and i get on things by the end of zack's visit (another week or so). post-zack i'll go back to working on kconfig for a bit to get that wrapped up for kdelibs.
btw, "zatoichi - the blind swordsman" is an amazing movie. even in spite of the semi-random scenes that make the occasional appearance art-movie-style, this movie has it all: a great story, awesome swordsmanship, good cinematography and some rather interesting ideas on life and whatnot. maybe not the best date flick, but goes well with nachos.
Saturday, April 08, 2006
to: esme
zrusin visiting stop he spoke at local linux user group stop went very well stop t. invited us to protest against the seal hunt so zrusin p-man and i marched and carried signs on the street today stop television news cameras showed up stop have been building on qgraphicsview for plasma visuals stop making progress though much left to be done stop making pizzas for dinner tonight stop love and squalor stop aseigo stop
Wednesday, April 05, 2006
coverity update; amarok reviews; ebn; 770
four quickies.
1. the people over at coverity who have been offering free-as-in-beer defect reporting of open source apps has got kde merged into their build system. it's not listed on the page yet, but will be there in the coming days. this is great news =)
i've seen a prelim report, but the official results aren't there yet. please don't inundate them with requests for access to the reports at this time, though please feel free to send them a "thanks!" email to let them know how much we appreciate their efforts. if you do need/want an account to see the reports, please coordinate this through ade and dirk once they have access (which will probably be a few days i imagine).
2. i complete agree sebr about articles that are more half-assed opinion pieces than professional overviews. i can read slashdot for the former, don't we have a big enough community to get more of the latter published?
besides, half-assed opinion pieces are my domain. ;) and on that note...
3. ebn. yep, i said some "mean" things alright ade. but i know you can take it. ;) it is cool to see ebn improving, though, so lazy people like me have a better time mining through the fruits of your labour ... hope you enjoy your thesis writing sequester ...
4. in the "grey is the new black" theme ... the 770 is the new zaurus.
1. the people over at coverity who have been offering free-as-in-beer defect reporting of open source apps has got kde merged into their build system. it's not listed on the page yet, but will be there in the coming days. this is great news =)
i've seen a prelim report, but the official results aren't there yet. please don't inundate them with requests for access to the reports at this time, though please feel free to send them a "thanks!" email to let them know how much we appreciate their efforts. if you do need/want an account to see the reports, please coordinate this through ade and dirk once they have access (which will probably be a few days i imagine).
2. i complete agree sebr about articles that are more half-assed opinion pieces than professional overviews. i can read slashdot for the former, don't we have a big enough community to get more of the latter published?
besides, half-assed opinion pieces are my domain. ;) and on that note...
3. ebn. yep, i said some "mean" things alright ade. but i know you can take it. ;) it is cool to see ebn improving, though, so lazy people like me have a better time mining through the fruits of your labour ... hope you enjoy your thesis writing sequester ...
4. in the "grey is the new black" theme ... the 770 is the new zaurus.
houston, we have liftoff
so i was in houston last week for a handful of days speaking at trolltech's developer roadshow. aside from reminding me in many ways of calgary, it was a nice opportunity to stay in a hotel in a mall (truly odd: a melding of 2 hotel towers, 2 office towers and 3 levels of consumer heaven mall covering several city blocks) and meet with several of trolltech's corporate custooncemers in the area. many were familiar with kde.
aside from having some really nice interaction with people from companies such as texas instrument and lockheed-martin, it was also a time to meet up with some of the qt hackers such as marius and andreas as well as kde people such as george staikos. there's some very cool stuff happening in qt 4.2 such as qgraphicsview which is simply wonderful. think qcanvas on steroids to give us a scenegraph type presentation widget.
i want to do some screencasts and post some screenshots, but i want to clear it by andreas first so i don't steal all his thunder ;) and he and the other graphics hackers @ trolltech certainly have built up a lot of it. some of the demos include a really cool robot demo (he says, looking at ettrich ;), a multiplayer first person shooter type game thing and a demo showing a million skewed and rotated live (as in editable) text areas .... all of it smooth and flicker free, able to switch between opengl and regular painting (and back) by clicking a push button, free zooming and rotation ..... really, really nice stuff.
and speaking of graphics, i picked up zack from the airport last night. we spent the day today getting settled in and prepping for hacking on plasma.
i also had an epiphany about marketing kde4 today that was dislodged by an irc brainstorm we had in #kde-promo today where our marketing working group members showed why they are on that team (hi sebas, wade, martin and others! =) and then a later conversation over vegan chinese food with zack and t. i'll be presenting the ideas to various people in the project quietly over the next week or so if it truly does blossom into something useful (it may not; my previous concept built around "clarity" last year got scooped by microsoft as they started using it for vista =/ ) ... suffice it to say, however, that it will make tom chance rather happy if it does ...
odd side-story: yesterday when grabbing a coffee while hacking on some code, i eavesdropped in on a conversation at the next table (a very "bad" habit i have). it was a young man and woman and she said that a friend of hers had described herself as a "serial monogamist" due to her habit of having many (often simply physical) relationships in a row. she said that it was such a great term to describe exactly how she felt about herself and went on about this great new label. i smiled because that phrase was one i used over 10 years ago to describe my own self at the time (things change...). interesting how we (as a culture) keep rediscovering the same memes over and over ...
aside from having some really nice interaction with people from companies such as texas instrument and lockheed-martin, it was also a time to meet up with some of the qt hackers such as marius and andreas as well as kde people such as george staikos. there's some very cool stuff happening in qt 4.2 such as qgraphicsview which is simply wonderful. think qcanvas on steroids to give us a scenegraph type presentation widget.
i want to do some screencasts and post some screenshots, but i want to clear it by andreas first so i don't steal all his thunder ;) and he and the other graphics hackers @ trolltech certainly have built up a lot of it. some of the demos include a really cool robot demo (he says, looking at ettrich ;), a multiplayer first person shooter type game thing and a demo showing a million skewed and rotated live (as in editable) text areas .... all of it smooth and flicker free, able to switch between opengl and regular painting (and back) by clicking a push button, free zooming and rotation ..... really, really nice stuff.
and speaking of graphics, i picked up zack from the airport last night. we spent the day today getting settled in and prepping for hacking on plasma.
i also had an epiphany about marketing kde4 today that was dislodged by an irc brainstorm we had in #kde-promo today where our marketing working group members showed why they are on that team (hi sebas, wade, martin and others! =) and then a later conversation over vegan chinese food with zack and t. i'll be presenting the ideas to various people in the project quietly over the next week or so if it truly does blossom into something useful (it may not; my previous concept built around "clarity" last year got scooped by microsoft as they started using it for vista =/ ) ... suffice it to say, however, that it will make tom chance rather happy if it does ...
odd side-story: yesterday when grabbing a coffee while hacking on some code, i eavesdropped in on a conversation at the next table (a very "bad" habit i have). it was a young man and woman and she said that a friend of hers had described herself as a "serial monogamist" due to her habit of having many (often simply physical) relationships in a row. she said that it was such a great term to describe exactly how she felt about herself and went on about this great new label. i smiled because that phrase was one i used over 10 years ago to describe my own self at the time (things change...). interesting how we (as a culture) keep rediscovering the same memes over and over ...
Subscribe to:
Posts (Atom)
