I’m writing the first part of the first entry in Newark airport waiting for the connection (bloody networkmanager, why don’t you want to connect to the free access point?). This night didn’t went to sleep at all, some of us kept watching silly movies until 3am (then farewells and seeya next time, with the usual sweet/bitter taste), when I left for the airport.
First flight pretty tiring and the second one even more massive (long flights and carbon footprint ftw!)
Now that i get home there will still be a list of work that i really hope i will be able to do in time, some last minute refinements and bugfixes of the last minute before the 4.4 release, both in code and assuring all the artwork in plasma is up to the job, so hectic days ahead, yay!
CampKDE is coming to an end, I’m writing this during the last tutorial session, Qt embedded is a quite different beast compared to what we’re used to, but cool stuff indeed
Those days have been pretty intense, many talks and tutorials, too much rain, too much beer, lots of “healthy” american food… so in the end, all good stuff, (except of course for the rain, since i was expecting the sunny California a little bit more well… sunny :p)
Seen several old friends, met some new dudes, too bad i’m about to leave (a plane in the eeearly morning is so much fun :p)
I never really manage to do much hacking on those meetings (much more code done in sprints) but many neat ideas come up for the future, by talking with great skilled people and some whiteboard sessions 😀
Anyways I managed to hack something, a new little block in the Plasma animation framework, (a class to do smooth pixmap based transitions) that will hopefully let us get totally rid of the old animator code and complete the migration by KDE 4.5
When I’m at KDE events usually I don’t really find time to write that much, by the way, this week I’m in San Diego at CampKDE, we’re now at day 3, the third day of talks, today the lighting talks, together with tutorials and BOFs. All the talks were really interesting, I also gave a talk on the netbook stuff, you can find slides here 🙂 It was probably one of the first important KDE talks i gave and gone pretty well (since all the english still don’t belong to me :p)
I basically talked about what netbooks are now, what they should be and why the situation right now isn’t so happy. This driven us to do something about that, so i described what the principles behind the Plasma Netbook project are and what its components are (i.e. why the shell it’s done the wqy is done, why the Search And Launch and why the at first strange concept of the newspaper thinghie) maybe one of this days i’ll write a longer synopsys of the talk or hmm maybe not 🙂
Then, later in the night, watching all night Chani and Troy attempting to sing Eagles and Sinatra was, hmm, how we could say it… “fascinating” :p
As presented on this blog a bit ago the central and more important view for Plasma Netbook Shell is this so called “Newspaper” activity: applets are positioned in an arbitrary number of columns (default two), one on top of the other, scrolling when there isn’t enough space, giving you actually an “almost infinite” vertical real estate
At the beginning this was decide just for a screen size issue, but with time this has been revealed to be a damn good metaphor that could have been expanded, so let’s see what the direction is.
As said pretty much over the place, the “netbook” is not a little laptop is a totally new class of device, that is kinda inept to do what the computer has been used for ages, create content.
The shift we are seeing now, is a shift on using the computer to create content only in certain moments (i.e. work ;p) and most of the time just “consuming” content or creating only really lightweight type of content (hello microblogging).
A different beast, a different use
This is what has been called (and somewhat mistaken for) the shift towards the web based content, but is not just limited to that, the web is just the pipe to convey this content and often the web browser is a kind of a suboptimal tool to access some kinds of that content, but this is another story.
The netbook is the perfect device for a quick check of that content when you are on the move, or not want or have the possibility to use a bigger but sometime inconvenient computer.
Now, there is something that needs full focus of the attention of the user ad of the machine, like reading a big article on a website or watching a movie, and there is something that instead most of the times needs a quick “peek” at it to see if there is something changed, and -maybe- only in this case I’ll give full attention on that task, like:
microblogging: what my friends are saying? or just update your status with a line or two of text.
Facebook or sites like that: often just used as microblogging, if i need some more advanced features of the website i will give full attention to it
Weather: often all is needed is just a quick answer: will it rain tomorrow?
Email: at start just want to see the titles of the few last emails, only if there is something that looks important i will give the attention to emails right now.
There are other examples, like appointments, to-do lists and similar things.
The concept of giving “full attention” is indicated in plasma by that little “full screen” icon i talked about here, this is available both in the usual plasma desktop and in the scrolling page layout of the netbook. this button will launch an application, like akregator for the news widget and gwenview for the picture frame or just open the a web browser to the proper URL in the case of services like remember the milk or the weather.
Pages and activities
The concept of the newspaper is perfect for that, it contains widgets that will give this quick “peek” on the possible information sources one could be interested on the internet, giving a quick idea, as soon as the device is turned on on what could be interesting/important and what definitely won’t be.
This video gives a typical work flow of the netbook Plasma interfaces: it shows how is easy to add and remove “pages” and organize widgets in them, keeping the concept of “activity” that was introduced in the plasma desktop, so one could have a page that informs on what’s going on in several social networking sites, or showing some news from rss sources and so on, having another page activity that is more work oriented perhaps showing appointments and work related emails (widgets for emails and appointments still won’t be available in KDE SC 4.4, but they are in the works)
Here you can see some widgets that can attach to web services: the microblogging client, the 3 opendesktop plasmoids, and the Remember the milk client
The first thing one can notice is how they look very similar, they’re pretty good at their task and some guidelines on how to do a widget like that can be extrapolated:
You may want to follow this look and behavior when the service you want to connect offers a list of “stuff” that can always be interesting to give to the user, such as microblogs, news items, friend list, email messages, whatever.
This list should be presented as occupying the total or nearly total area of the plasmoid (maximizing the content, minimizing the “chrome”)
don’t make assumptions on how big the widget will be, test it from a very small size (always think to run your widget in a cellphone and ask yourself if it would look usable in there), to very big
when there isn’t enough space, make it scroll the content, some UI elements (like the input field of the microblog applet) are in fact less important than the content, so shouldn’t be always visible stealing from the content, you may want them to scroll away as well
make it work in the panel, so in 90% of the cases you may want show the content in a popup
Scrollbars nested in other scrollbars are not really good, so when embedded in the newspaper the widget should get longer to not have a scrollbar (well if it won’t become -exaggeratedly- long)
Some of those points, like scrolling, automate resize and panel-friendliness will be got almost for free using standard Plasma components, like Plasma::ScrollWidget and Plasma::PopupApplet
In the future I hope (is this a new year resolution? i don’t know :P) more and more of this kind of widgets will surface, with the procedure to create them more and more easy and automated when possible (and I also hope to see them written in the simple javascript bindings). This kind of widgets will also be the key to start to colonize new type of devices, from cellphone like tiny things to 10 foot interfaces like mediacenters
Ah, by the way, hopefully
Where I will give a talk about all this stuff 😀
Those are not radically new features, but rather a refinement of what it was available in KDE Plasma Desktop 4.3
When the mouse cursor is over a task, the corresponding window gets highlighted (dimming all the others), this works for groups too, highlighting the goup’s windows. This was already available in 4.3, but it’s works in a way more reliable way now.
What’s new is that now moving the mouse cursor over the taskbar tooltips triggers the highlight effect too, useful to quickly pick a window from a group, since the thumbnails are now clickable too, activating the proper window.
Another new and very useful feature (even if a bit “hidden”), is seen around the middle of the video: if you click on a task group with Ctrl pressed, it doesn’t open the usual popup menu, but it triggers the present windows effect, giving you a fullscreen chooser of the group windows
Tasks should have text or not? The text in the taskbar is a really important disambiguation, so should always be shown when possible. but in some cases it’s just messy because there is not enough room. so now with vertical tiny taskbars or when there are really many tasks the text is authomatically disabled and enabled as soon as possible.
For the last screencasts I had to do, I needed some tool were it’s easy to cut little pieces of various short movie files and that could have let me to assemble them togeher, maybe with some simple not too heavy transition effects.
I have tried some apps that promised that, but in the past i never had much luck. Cinelerra and Blender uis are simply painful, kino is just linear, pitivi doesn’t have any transition effect, lives insists to convert each movie frame in a separate png…
Now Kdenlive… in the past i never had much luck with that either, it was way too crashy to actually be able to get some work done with it… but some days ago I tried to compile Kdenlive from subversion…
And oh boy, everything is sooo right. I could do all the work in really short time, not a single crash, seeking frame by frame is really fast and using it is really easy.
Kdenlive is the exact balance between an easy to use app and one powerful enough (the interface could look a bit busy at a first glance, but is really simple and trivial compared to tools like Premiere, Vegas or Final cut)
I think it’s an application that really shows what the KDE development platform can do, because is something that is really unmatched in the Linux desktop, if you think the current version is still unstable and a bit impractical give a shoot at the next one as soon as will be out, it will shine!
Since it seems nowdays I can’t finish an entry without a screencast, here it is s quick and dirty “making of” of the Plasma multitouch video, well not actually that one, but shows how fast is possible to create a simple montage.
Going a bit more deeply on how KDE SC 4.4 will support multitouch, here are 3 longer videos:
The first one shows marble. Is now possible (with the usual disclaimer on devices and systems that support it, hoping it will become a more pervasive feature) to zoom the earth with a two fingers gesture, making a retty natural interacion
The second one shows Plasma: it’s possible to move, resize and rotate the widgets with two fingers, making them a bit more “real objects”. Another place of Plasma that supports multitouch is the “Blackboard” widget (painting with two fingers simultaneously ftv) and all the animated scroll widgets, such as the one used in the microblogging plasmoid and in the netbook and the webkit based widget.
The last one shows in detail the Webbrowser widget, in particular two fingers scrolling (note that is still possible to select text with a single finger, while scrolling with two) and pinch zoom with two fingers again, all correctly maped to any transformation the widget can have.
A while ago i received from Nokia a cute Dell Latitude Xt2 multitouch tablet pc, to produce some demos of a really really nice new feature of Qt 4.6: multitouch.
Qt provides two ways to acessing multitouch: one more abstract, where the type of gesture and direction of fingers movement already “parsed” so you already know if the user wants to zoom, scroll or rotate, that’s QGesture that’s useful to control for instance scrolling and zooming in a web browser.
If you want instead something more raw, the position of every finger now and on the last sampling, you have instead QTouchEvent. That’s useful if you want for instace paint with multiple fingers on a paint program or want implement some weird type of gesture not provided as stock. oh, and no It’s a rather different (and more simple) concept compared to Multi pointer X, since is a single event with multiple positions, rather than multiple simultaneous events.
So I tought that in KDE we have soe things that would make as an impressive demo with multitouch, so why not give it a try with Marble and Plasma :). So that’s the result (thanks to the trolls for the final edit):
This OGG version, unfortunately this is only a “raw” version, without music and titles, but gives the idea
It will be supported in KDE 4.4. Th only catch is that right now X11 doesn’t support it (..yet:p), so just as a tech demo will be possible to try it on the windows and mac builds of KDE
The bug hunting and stabilization period is starting to pay off. Those days I’ve taken the systemtray and the notification system as a target and started hammering on it…
The target were mosty two
Slash the count of bugs related to notifications… and 13 were closed, other 13 remains, most of them can be probably be closed as well, just need to wait and see how the last patches behave in the various situations.
Refine and take into shape a neat little feature entred just 2 days before te freeze, that by itself closes several bugs too.
So, what it is? sometimes notifications pop up when the pc is unattended, sometimes is something not important at all and if it gets lost in oblivion who cares, sometimes it could be quite important, for instace somebody on IM attempted to contact you and now he is offline, maybe it’s the case to write him/her an email uh?
Now notifications, while they behave exactly as before, being displayed for a short time and then disappearing, they are also “archived” for a short time (varying depending if the pc is used or not) and they are separed by application, so it’s easy to look inside all the old notifications of kopete for instace.
This screenshot shows the notifications popup of the systemtray opened: the user asked to see all the kopete notifications, so only them are visible, even tough there were some from kmail too.
Is not the first time the user switches to the kopete notifications: the oldest two were already present the time before, so now they appear “collapsed”, while the newest ones are open.
Since I saw Plasma for the first time, I immediately imagined it as something really organic, where you can manipulate the objects on the canvas like one would do with real objects, just grab them with one or two hands and move them, rotate them, stretch them to make them fit as you like.
Now Qt 4.6 among a ton of new features has really qute multitouch capabilities, and made this possible, here is a sneak peek:
Won’t say more for now, more on that later :p
I did the first part of the video, than the trolls put some pepper into it (love the epic music :p)