Tokamak netbook talk

BlaBla

This post is an attempt to make a little synopsis of the stuff i talked in my tiny presentation about the Plasma Netbook project, nothing new but a nice recall.

The plasma netbook shell idea was born during Akademy 2008 in Belgium on a blackboard (yeah, real old blackboard with dusty chalk :p) and remained mostly on the blackboard for quite some time.

However the first pieces were put in place shortly after by Aaron doing a first implementation of the plasma shell, that languished there for a while.

Fast forward until some months ago, me and Arthur decided to put some time in it, so let’s see the results so far.

As plasma being really modular, we now have a collection of stuff pretty much independent suff.

  • A plasma app: we don’t use the plasmadesktop executable but something that is lighter, simpler and allows us to experiment very un-desktop things

We have some own containments too:

  • We don’t use the normal desktop and panel in plasma-desktop since it has too many things not really useful there: logics for autohide panels panel alignment and things like that
  • Newspaper containment. A free layout is not adapt in a constrained size, let’s put a bit of order.
  • Search and launch. Let’s have an easy and intuitive way to launch applications and do searches, without monopolizing the whole ui.

Just two applets right now:

  • A search box separate from the sal, to be positioned in the panel
  • a simple titlebar/semi-taskbar, since we won’t have neither of those

We can ask ourselves since we have a really good desktop: why we do a different thing?
A traditional desktop has some characteristics that makes it really good on big screen resolutions since we can tile multiple windows in the same screen or leave a big emty area to access the desktop.

However on a small screen the very concept of havin windows become annoying, because the space is barely enough and sometimes even too scarce for the actual application data. This Should drive us to a radical rethinking of how the shell should look like and behave and is also an occasion for us to have new ideas and touch things that in a desktop we really can’t.

So what we have that is so odd? We don’t have a desktop containment, we don’t have a taskbar, a titlebar of the windows or resizable windows.

A peculiarity of the shell is that the main view, what usually would be a “desktop” is a normal window like the others, so is possible to put it in front and choose it in the “taskbar” (that is just the present windows effect) and in alt+tab, also all the panel configuration machinery is not present in the shell.

What is really interesting of the project are the two new containments.

The newspaper: the idea is to make look like a newspaper, act like a newspaper, so it’s a duck..

This is what you see as soon as the system start: a two column layout of widgets that are network-oriented, so they gives you a quick overview of what happens in the interwebs and on what your friends are up to.

The Search and Launch interface: from personal experience i see that new users are simply amazed by krunner when you show it to them, but they rarely use it, because it’s really well-hidden under a shortcut and there is nothing advertising it. On the other hand the SAL interface brings krunner up as the first and only way to launch applications (or execute any other kind of search and action supported by krunner, from evaluating numerical expressions to searching wikipedia)
the search box is in the panel, so it’s reachable even when the sal containment is hidden by windows or is not in the main view.

There were interesting reactions so far. The comments about the newspaper and the sal were overwhelmingly positive, way more tat i expected, that says we have to be doing something right :p. Not so positive are the comments about the panel, i think tere are some valid points and i am not really happy about too, there is certainly room for improvement.

Now, the work still to is still huuuge (everyone willing to give an hand is of course more than welcome):

  • Refine the applets and containments: better fallback in the case desktop composite is not available.
    Improve panel behavior
  • Friendliness to keyboard navigation
  • Integration with kwin: how to do and behaviour of the fullscreen applications
  • Seamless switch between a plasma-desktop and a plasma-netbook session
  • Make really smooth to use certain plasmoids as stand alone applications

Progress on the netbook ui

Software

A while since last blog, so it seems nice to give some updates on the progress on the Plasma netbook shell, since in the past weeks i did some visual changes.

Netbook newspaper

Now the widgets in the newspaper activity shows their background, to achieve more opacity (and readability), and the scroll area have a neat shadow effect to make the clipped edges to look better. The widget in the newspaper containment now should also keep their aspect ratio in a better way.

Netbook newspaper

Also the search and launch interface has some fixes in its layout, and when no query is entered in the search field it spots some icons that do default queries, like all programs of a given category, all contacts and all bookmarks.

To maximize the space given to applications in those tiny screen resolutions now the panel is auto-hide, with the same sliding animation present in the main plasma desktop autohide panels (from KDE 4.4 done by my first Kwin effect, yay :D)

Here comes the usual video (the flickering of the panel is just a problem of the screencast), in the usual YouTube or OGG-o-vision, enjoy 😀

Update on this netbook thinghie

Software

At GCDS we did several shiny things, and talked about even more shiny still to come stuff, like the better integration with kwin and new crazy ideas on the ZUI.

A thing that received a good amount of work is the Plasma on netbook project, in the form of several little components. What is really good about plasma is exactly that is done by many little components, quite easy to code, mantain and reuse.

So what we have now is in playground and can be tried right now on http://websvn.kde.org/trunk/playground/base/plasma/netbook. Here is a video of the current progress of the project, as appeared on the dot.

It’s also a little experiment on the html5 video tag, it should use an ogg file on things like new webkit based stuff (in qtwebkit it works, yay!) or firefox 3.5 and fall back to youtube otherwise, anyways the ogg file is there.

  • A plasma shell (the actual executable), if you were using it previously pay attention that now has been renamed from plasma-mid to plasma-netbook, that’s the form factor it’s targetted in the near future anyways 🙂
  • A panel, simpler than the one in the desktop, that contains several widgets a “current window control”, an activity bar, a systray usual clock and a search widget (more on that later).
  • the two main activities: newspaper and Sal

So, the “current window control” is a thing that shows the title and the icon of the current open window, plus a close button, this because there won’t be a titlebar for windows, just fullscreen stuff, and clicking on it it triggers the present windows effect, because there won’t be a taskbar either.

newspaper

The newspaper activity now looks like tthis, and compared to the state of te previous post is now possible to scroll, adding applets (yes, it needs a brand new add widgets dialog, but that’s coming from a gsoc, yay!) and rearrange them by drag and drop.

newspaperThe thinghie that is called SAL, meand Search and Launch, and will basically an interface for krunner: in the desktop the alt+f2 dialog is something that is not very prominent so is not really used by the mythical creature called “joe user”, but when you show the thing to them, they love it

So in the netbook, a thing like a menu is not really up to the job (in fact most of previous projects starting from the original eeepc shell to ubuntu netbook remix to moblin all have some different idea about how a small screen proof menu should look like). We have instead opted for a full screen prominent krunner interface, driven by the search box that pops up by clicking on the top right icon on the panel. Compared to the “normal” krunner there is a group of bookmarks in the top area and there will probably be some way to access saved searches (since the first time one uses it it won’t be so obvious what to search for)

Aaand, for really putting the “net” in the netbook, there will be web based runners too, like the wikipedia runner that is already in playground (sebas and rich, you’re great :p), the idea is giving access to network resources like that via runners, plasma widgets and libraries, even without always the need a browser, that is a great thing but not always the best ui possible.

Stay tuned for the next updates 😀

Pretty system tray: not just about icon themes

BlaBla

It’s good to see other parts of the OSS community looking at the current state of the X system tray and not be satisfied at all, it’s good because as you can see from this blog, i think the current approach is really really limited in many ways, as it was explained several times

This time is about look… now, the idea of having monochrome systray icons is actually quite good, but is quite a pita with the current protocol and actually a good use case for the new one.. why?

Let’s say we have a black panel (as the mockup of jono’s blog), so it’s reasonable to expect we want white icons, but what about if we suddenly change our color scheme to a light colored one? (or plasma theme in case of KDE)
Of course the icons will become invisible, so we could need to change all of them to another theme on the fly, and this could mean also that those icons can’t belong to the system wide icon theme, or we could have to change the global theme just for the systray, that’s no good, right? 🙂

Now, the current systray protocol requires that is the application itself draws its own icon, and this theme-dependent icon color switching is kinda possible (just open the configuration of the panel… by every application) but it’s really clumsy and not cross desktop at all.

The dbus based systray protocol we’re working on requires instead that is the systray the one who paints all the icons, and being part of the panel of course it knows well what the color scheme is.
The icons can be sent in Dbus by data, passing all the icon bytes themselves and in this case of course we can’t do much more than painting what it arrives, but the recomended way is to just pass the icon name (following the icon name freedesktop spec of course) and in this way we can decide where to pick this icon, we could have systray-specific icon themes dependent from the color scheme (falling back to the system wide one of course)

Now, I don’t know if we’ll actually implement a thing like that and if it’s worth the effort, but it’s a while we are talking about that thing and i think soon or later I’ll give this idea a spin 😀

Gran Canaria

BlaBla

It really doesn’t seem true GCDS is almost over (just a day remainig, how sad :/), and I’m kinda realizing just now that the internets actually exists, so I didn’t blogged at all while here, that happens when I can actually talk in person to most of the internet I care :p

What I can say, the location is fantastic, met some old faces and some new (hello, gnomies :p) and the whole thing has been quite productive, maybe not much on the code side but definitely on the design and the planning part.

We have got some crazy ideas about the ZUI and there is a new plan of collaboration with Kwin that will make the workspace even more integrated.

I’m also veryvery happy with the progress so far by our gsoc students (unfortunately only Chani and Ana are here, this period of the year kinda sucks for students unfortunately), most of their work will probaly be in KDE4.4 (being tired at late night made me write KDE 4.2, DOH!:P)

But what I’m more excited is the Plasma on Netbook project, if the implementation will go straightforward enough, it looks like we something usable is not too far ™, stay tuned :). WEll, actually don’t try to use it now because me and Arthur are turning the thing upside down at the moment, so it will eat your children 🙂

And oh, besides
that on the coding side I’ve continued the work on the embedding of plasmoid into the system tray, continuing our plan to show only what you need, when you need it, screencasts about it to follow in the next days (probably when i will get back home).

A system tray even more Plasma

Software

In KDE 4.3 there is the beginning of the support of the new systemtray protcol with some applications that supports it already, and as said, we hope to get a good percentage of our apps supporting it for 4.4.

But there will be an even more crazy thing, as seen in this picture.

I'm going to gcds

Plasma widgets can now be embedded into the system tray (here the battery icon), there is no config ui at the moment (soon to come, i think will be possible to put here only a tiny subset of them anyways)

If you have trunk and want to try it right now you can do the following. Open ~/.kde4/share/config/plasma-desktop-appletrc, look for the systray entry and if for instance its entry is [Containments][3][Applets][63] add a new entry that looks like:

[Containments][3][Applets][63][Configuration][Applets][137]
geometry=24,2,22,22
immutability=1
plugin=battery
zvalue=0

Oh, and by the way: I'm going to gcds

AIR: it’s official

Graphics

AIR

This is not a shocking news since the Air Plasma theme was developed all in the open, so there are literally months that screenshots of it are around the interwebs, but since today it’s official: the Air theme is the default plasma theme 🙂

It has been moved today into kdebase alongside Oxygen and made the default (Oxigen is of course still available)

Nearly all elements of this theme are redone from scratch, the idea of the look is of couse by Nuno Pinheiro, it’s amazing how he can make something that looks great out of nothing, I was just the mere executor of the elements (the fun activity of the “rename party” that who has done plasma themes knows :P)

The look of the theme is done to look really light an unobtrusive, let’s say that the target demographic of it should be wider: unfortunately Oxygen seemed to polarize people between love and hate, too bad, because i ireally love it eheh 🙂

There is a thing in this theme that is new in KDE 4.3 (besides the usual element additions here and there) tose circles that apear over the applets: they are really transparent, just a filigrane, and their position is random (well, actually highly predictabe pseudo-random, but that is what we need here), and that becomes useful to quicly tell apart one widget from the other (since the position of the overlay in an applet is the same across different sessions, until the widget gets removed). This can be useful also in the idea of common branding (with subtle differences across distributions, instead of total difference)

Spread your knowledge

BlaBla

As Frank said yesterday in KDE 4.3 there will be the beginning to the support of the OpenSocial API, this is still fairly limited and at an experimental stage, but we did roll out something, to test the libraries and get people use it, bot users and programmers.

So now we have basically 3 things:

A client library (lib Attica) that connects to the opendesktop.org API, supporting a part of the specification.
A Plasma dataengine that use said library
An Opendesktop Plasma widget that displays the user profile, lists friends and geographically near users (and if you are in a foreign city with your laptop that’s beyond cool :D)

For this work many props to Sebas and Cornelius that did most of the work 😀

What i did was the support for the knowledge base into the library and into the dataengine, and this luckily made into KDE 4.3

Now a plasma widget is in progress, that is in playground as usual, and will be in KDE 4.4. (probably i will make a standalone release on kde-look before, if it won’t use too much 4.4-specific code, but i always tend to make uber bleeding-edge code, soo we’ll see :p), you can see the result here:

OGG version

Entries of Opendesktop items, (so kde-look and gnome-look themes, kde-apps and so forth) have a knowledge base associated to them where users can ask (and of course answer) question about them, with this plasma widget you can search and browse the questions and answers about all items on opendesktop.org, where another interesting application of the concept is to search into the knowledgebase for instance of a particular kde application… directly in the application itself. and since a general purpose library is getting in shape, that will be quite easy actually.

Aaand hopefully with this competition we can find new contributors to the project (we poor plasma developers can only do so much, right? :P), so if you are interested in doing something for the KDE integration, make sure to check out the ocs dataengine with the Attica lib (in kdeplasma-addons) and look at it both as and user of them (i.e. to do cool widgets or other apps) or to contribute to the library itself 🙂

Plasmanetbook breaths

Software

With the usual disclaimer that is a very early barely working prototype that will be probably massively different from anything final, it’s nice to show the screenshot of the other day in action.

So now I did some arrangements in the playground netbook stuff to give a thing that mostly works without too much hassle in the initial configuration and that it’s kinda possible to use it as the main shell instead of the desktop.


Ogg version.

Here is possible to see the newspaper activity used for weather and to read feeds (will be able to scroll its contents in the future) and the one used to launch applications, in this video that is nothing else than a folderview, but the final launcher interface will be more like a crossover between a menu and something like krunner

In this video is also possible to see some things that strongly suggest the departure from the “desktop” concept, because when those kinds of devices are treated just like small notebooks they are just not up to the job, since te way desktop guis are designed simply don’t work at those screen resolutions (and inches of screen). Of course we can’t rewrite all of KDE applications (neither would be so smart to do so), but i’m pretty confident that KDE and Qt apps in genereal are quite easy to adapt to smaller screens 🙂

Anyways back on track, here can be seen that the thing usually called desktop is not a desktop for two reasons: we don’t have that free layout for icons and widgets that we’re accustomed to see, and it’s not something to be seen as a background: is a window like the others (that by the are always maximized and borderless) that can be chosen and switchd to, so available in the “taskbar” (that here is the kwin present-windows effect, since netbooks harware appears to be a bit more standardized than regular systems, we can more realistically relay on desktop effects being on)

Also clicking anywhere in the panel brings the main plasma interface to front, since is the main interface between the user and the system and it’s here where the user starts the apps, switches between apps and sees the quick updates of the favourite internet places, via the newspaper activity.

Put a net in your book

BlaBla

Ok MoRpHeUz, i’ll show it :p, so here we go:

mid_newspaper

What’s that screen? it shows the embryo of our idea of user interface for a netbook. the actua plasma executable is another one that is way simpler that the full fledged plasma-desktop one, and it features just a panel (final layout still to be defined) and a main view (don’t call it desktop eh:p) that will display one of the two main activities we will ll come up for this project that are: SAL, a fullscreen application launcher/search interface/document browser/whatever (MoRpHeUz will talk more on that in the future:p) and the Newspaper activity, that’s where i spent the last 2 days of development, besides making the mini plasma shell work a bit better.

The idea is the following:
It’s an activity that displays a big scrollable view of widgets in two columns (with all backgrounds melted in only one to look less crowded and to save space), so it’s designed to look just like a newspaper, the idea is to put many net oriended widgets in here, like a rss feed browser, weather, opensocial widget, microblogging and stuff like that, to give a central overview pointon what’s going on in the online stuff you’re interested in, kinda like scrolling trough an actual newspaper (with the difference that here you build it as you please) and from each one of the widgets you will be able to open a more detailed view of the item displayed in the widget. With a more detailed view i mean opening the proper application to view it, that could be a browser, could be akregator, gwenview, whatever.

For now there isn’t much more than that, so i can just say stay tuned! 🙂