Author Archives: Marco Martin

Subtle moving

Software

another quick micro thing that will be in Plasma for KDE 4.4: until now, the taskbar items appeared and disappeared “magically” and when a task disappeared between other two, every task immediately disappeared from where it was, appearing in the proper place. That is sooo computer behaviour, one of the little things that makes computer to look innatural and scary…

Until now 🙂

OGG version

This is made really easy by the new Qt 4.6 animations framework, and for now there will be just a little taste of things like that, then with Qt 4.7 this will become almost automagic, since it’ll support animated layouts natively

Another Plasma netbook screencast

Software

Another screencast of yours truly: this shows the Plasma netbook shell running on a bog standard Asus EeePc 1005Ha.

It can be seen the new neat animations of the search and launch interface when results are loaded. What’s neat is that it seems to run quite well on this pretty basic hardware and animations are just as smooth as they should be 🙂

OGG version

Flicking around

Software

For KDE 4.4, we’re giving a bit of touchscreen friendliness around Plasma, a thing common on touchscreen based uis is the so called flick lists and scroll views. They can be web browsers, simle item views, image explorers and so on.

You just touch (or drag with the mouse, it’s not limited to touchscreens of course) a random point of the view, drag it a bit, release and the contents will be launched with a neat animaton effect, with a resembrance of something real.

In Plasma, if you use the ScrollView widget you’ll get that for free, and if the item view contains some sub widget that wants to listend to mouse clicks as well, is sufficient to call the function ScrollView::registerAsDragHandle(QGraphicsWidget *), with some eventfilter magic, the element registered will still react to mouse click, but will pass them to the view as well. An example of this is the icon view of the Plasma netbook shell: if you click on an application icon it will launch the application, but if you press the mouse over one, move it and release, the application pointed from that icon won’t be launched, instead all the icon view will scroll and will still scroll for a while if the mouse moved over a certain speed.

There is a small video that show this behaviour over several plasmoids: the web browser, the microblog, the OpenDesktop knowledge base client and the Search and Launch interface of the netbook shell.


Ogg version

The WebView widget will behave like that as well, and if you implement a custom one and you want that behaviour -for free-, you just have to call Plasma::Animator::self()->registerScrollingManager(yourwidget), and provided you gave the proper Q_PROPERTY to your widget, all the magic will be done behind the scenes. The properties you’ll need are:

  • scrollPosition: the position in pixels of the contents relative to the viewport
  • contentsSize: the size of the contents: for instance an image could be 1680×1050 pixels big, even if the widget that is vieweing it is just 200×200
  • viewportGeometry: the actual viewport of the contents could be the bounfingRect() of the main widget or could even be something smaller: for instance excluding the area taken up by the scrollbars, if present.

Easier Plasma themes creation

Graphics

One pretty long task of plasma themes is to manually rename all the SVG sub elements with the proper names. Let’s say we want to theme a button, we will need a SVG file with the following elements: normal-top, normal-topleft, normal-left, normal-bottomleft, normal-bottom, normal-bottomright, normal-right, normal-topright and normal-center.

This is for the button in normal status, then you need the same thing with active-, pressed- and focus- prefixes

This makes Plasma themes quite powerful (and always looking pixel perfect) but it’s quite fainful to rename over a hundred of elements by hand

Since usually the themes are designed in inkscape and it has a pretty neat system to write plugins in python, i’ve decided to write a little extension that eases the ain a lot: if you select 9 elements it will rename them with the usual topleft, left, top etc names, with an optional prefix asked by a dialog. If you select 4 items, it will instead rename them as hint-top-margin, hint-left-margin etc.

The extension is located at this address, to use it you have to copy those 2 files in the ~/.inkscape/extensions folder.

Unfortunately it requires a recent snapshot of inkscape 0.47, since the python scripts used have some bugs.

As usual a video is worth 1024 words 🙂

Ogg version

Kubuntu Netbook Remix 9.10

BlaBla

So today Kubuntu 9.10 was released. I wish to the whole team my congratulations for the release 😀

I want to sped two words about a new additin in the Ubuntu fleet: Kubuntu Netbook Remix. This particular version of Kubuntu ships (and uses as the default user interface) an early preview of what will be the Plasma Netbook project.

We (as both upstream KDE people and Kubuntu people) wanted to quickly put something out of the door, to give people an easy way to test it, and make it a bit more known before the final release, and requiring people to run trunk is not really reasonable, while a livecd poses a way lower entry barrier.

While you are testing it, please keep in mind is software in a really early stage of development.Kubuntu Karmic Koala of course uses KDE 4.3, because it’s what is out at the moment :). Since some months ago the Netbook project uses some important new features that will be in the Plasma library for KDE 4.4, so the version shipped in Kubuntu is a snapshot a bit older that what is in svn now (plus some backports of more recent fixes), that’s why it looks pretty different to the last screencasts i did.

So keep in mind that the “real deal” on Kubuntu will come just with 10.04 (or as soon as KDE 4.4 packages will be released), but I’m confident that what is shipped now is something already quite fun to use, and gives an idea how it will be, so try it, have fun 🙂

Search and Launch improvements

Software

I’ve already talked about the search and launch activity for the netbook shell, so this video rather than explaining again what this is it just gives a brief description of what is changed on it and where the work is heading:

Some work has been done on keyboard navigation, on always giving the expected thing the keyboard focus.

A pretty iconview class has been written to be used in both the results and on the favourite icons on top, making it possible to scroll by “flicking” with the mouse or with the finger in both places, with many cute animations.

And of course tons and tons of fixes.

OGG version.

Netbook: what are you?

BlaBla

Some time ago Michael Dell said that netbooks delivers a really poor user experience. Now it’s pretty easy to infer that this is because netbooks sales are starting to erode the higher margins desktop and notebook markets, putting the manifacturers in a really difficult situation: one of the most successful type of device of all timesis killing the most expensive ones.

In the end Michael Dell is even right: as a general purpose pc they deliver a pretty poor user experience for both performance and screen real-estate, but this infortunate situation is in a great extent fault of hardware manifactures.

The first netbook attempt, the old EeePC 701 was pretty much a device on its own: it had an ad hoc user interface and it was clear that it served just a limited set of use cases, casual web browsing, audio/video consumption and things like that. Not entirely different from smartphones use case, but for situations when you can carry around a slightly bigger and more convenient to use device.

Then, seeing the fantastic amount of sales of those thinghies the hardware manifacturers figured out that if they put Windows XP and bigger hard drives on them they would have sold even better and this was totally true, to the point that people only want to buy netbooks instead of regular machines, rather than using them as a secondary companion device (bad economy, the easiest way to still get XP rather the much hated Vista, pick the reason you want).

This has taken away every bit of innovation those devices had, like a different operating syste, solid state drives and software specifically designed for those screen constraints: let’s just throw office on it, it will work perfectly no?

This situation is bad for users that are buying an hammer when they need a screwdriver and bad for vendors that are seeing their profits taken away.

I hope this will be taken as a lesson and manifacturers will learn to fear less to be innovative, rather than taking the path of least resilience. I’m hopeful that devices like the arm based ones, maybe with extensive use of the touch screen will make netbooks that really distincht and innovative class of devices that they deserve to be, rather than just slightly dumber laptops.

Random bits

Software

*Arthur makes remote widgets work on the new Nokia N900: this has really awesome implications. Rob’s work on remote widgets is really cool by itself, and if you add the possibility of exporting widgets on a small device like that it opens the doors to really cool applications, think about a really rich remote controller for your mediacenter, a way for a conference speaker to publish his slides or something related to the attendees regardless the device they’re using, a way for a teacher to control what is available in a computer lab room desktops and stuff we still did not tought about.

*KDE depends on Qt 4.6. This opens the door for us to the use of all the cool new features of this release, a thing we were drooling about since quite some time is the new animation framework. A summer of code project was done to make a really easy to use API to access it from Plasma, to have a library of stock effects that will be coherent across all the widgets. It has been merged into trunk now and when it will be put really in use expect to see fireworks 😀

*Work on the netbook interface continues, we got a pretty nice workflow model for using the newspaper activity, plus the Search and launch activity changed quite a lot since the last screencast. I should reeeally do a couple of new ones, so stay tuned 😀

New job

BlaBla

A new quite interesting chapter of my life is started since quite some time, I didn’t want to say too much about it until everything was settled down and up to speed. But now i guess the time has come, let me introduce my new employer, a pretty familiar and constant presence in the KDE development:

Qt development frameworks

Thanks to the generous support of those people, these days known as Qt Development Frameworks (and the mother company Nokia of course), I’ll be sponsored to work full time on KDE, in particular on the Plasma libraries and shells, especially the Plasma netbook project, that is taking up shape quite nicely. Plus there will be another quite cool Qt-related project

I will remain based here in Italy, but especially starting from next year perhaps it would be more probable to see me wandering around conferences around the world, we’ll see 🙂

What i can say: Qt Development Frameworks (or: our little old dear trolls) rocks!

New hosting

BlaBla

Today I’ve moved the site hosting to a new provider. It should be way better than the old uber-cheap one. Transition gone pretty well, but the site has been kinda broken for some hours, now all should be back normal again.

I hope to not have lost comments during the DNS transition time.