I leave for home tomorrow, but have one more day here in Brussels. It's 05:00, and C. is getting ready to leave to make her flight out of Charleroi in a few hours. While she's skittering about in the bathroom getting all fresh and pretty and what not, I'm blinking here in semi-dark pondering what to do with the rest of the day.
Yesterday I finished setting up scratchbox on my system, flashing my N810 device with the latest Maemo OS and putting it into R&D mode (oooh, text on boot up! ;). It's a fairly well put together system, and I'm so far impressed with the hackability of it all: lots of intriguing new things to play with in Plasma now, such as location awareness. I have found that the documentation available is pretty long winded in places and contains details that I, as a "casual" hacker on the device really don't care about. Once we have KDE lib packages in the Maemo extras repo, I'm going to put up a very straightforward step-by-step article up on Techbase that cuts through all the fat (with references to the pages with the extra details of course), so that others can get up to speed quickly.
At some point in the next few days I'll be creating a small libplasma based shell just for the Maemo device that has the appropriate resolution for the screen and a new default layout. We decided to take this route because, even though the plasma desktop shell binary on my laptop is only 14k, it still has lots of code that doesn't make any sense on the N810 and missing integration points for things like the "full screen / home interface" button and other hardware features.
The new binary will be very, very similar to the existing one for the desktop, just with a lot less code. From there we'll be creating a couple of purpose-built widgets (e.g. a new full screen app launcher with bling and aimed at this form factor) and containments. The containments should be very small, actually, as they will be very stripped down versions of what we already have.
It will be interesting to see exactly how much code sharing we get out of this part of the project; right now it looks like quite a bit. It's an interesting test of some of the theories behind the Plasma framework.
Another interesting result is that thinking of these small form factors will have impact on the desktop as well: while working on a draft design for a primary UI for the N810 at Akademy with other Plasma developers, we spent some time looking at how best to handle the parade of status icons. We decided we didn't want all of them showing all the time: most of them are only needed occasionally and are just screen noise (and pixel abusers) the rest of the time. Sebastian pointed out that the notifications widget has the interesting property of not needing any UI at all: the notifications that pop up are the only useful bits. From there it was a small jump to realizing that the notifications widget should be the container/manager for things like battery status, volume control, etc. In other words, the new system tray system should also be the notification widget. This seems so amazingly obviously in retrospect, but we needed to have to design for something where every single pixel counts to realize it. We'll end up taking the same route on the desktop (and sharing the results, of course, as such widgets run just as well on a desktop form factor as on a small tablet).
In this case, I'm reminded of the benefits operating system portability, only instead of ensuring code cleanliness form factor portability impacts (positively, thus far) the UI design.
Anyways ... I've got to decide now whether to head back to bed for a bit or have a shower and find some breakfast; to hack all day or head into downtown Brussels for a bit ... right now I think bed is winning. =)