Plasma Active – A Desirable User Experience Encompassing the Device Spectrum

Plasma Active on a tabletToday, I’d like to announce to a wider audience a project we have been working on in and beyond the Plasma team. Its goal is to “Create a desirable user experience encompassing a spectrum of devices“, and it is called Plasma Active. A couple of things make Plasma Active special. First, the driver is the desirable user experience. That means that we want to create something, people want, and people want to use. It means we are less technology-focused, but are taken a user-centered approach. Second, we are not targeting a single device, or a narrowly-defined class of devices. Plasma Active is made to run on a spectrum of devices that make up the user experience together. Devices change, and so does the way the user interacts with them. By strongly separating data and visualisation / interaction, we do not re-invent the wheel but adapt to the requirements and expectations of a device, and about how devices work together for the user.

Running Plasma Active

We have a basic, Plasma-based shell right now, which runs on three target devices — and probably some more, but that’s what we’ve tested so far. It performs well, runs stable and is usable with a touch-screen. While Plasma Tablet is quite fun already, do not expect release quality yet, as it is a snapshot of our efforts. Find the download location for the Balsam Professional live image on the wiki.

open-slx has created a Balsam Professional live image based on openSUSE 11.4 running Plasma Active. open-slx (my employer) are developing Plasma Active for openSUSE in the openSUSE Build Service. We’ve also created packages which can be installed online on top of openSUSE 11.4. You can find installation instructions in our Wiki, also for Meego.

Of course you want to run Plasma Active on a ‘real’ device, we currently recommend either the ExoPC (WeTab), the Lenovo Ideapad, or a Viewsonic Viewpad 10. You can find instructions for devices in the Wiki


The demo video shows Plasma Active in action on a Viewsonic Viewpad 10.

Status

There is still a long way to go. We’re missing key functionality, default applications, optimizations all over the place, and more. There is nothing fundamental that holds us back to bringing the full experience users expect to tablet devices, based on our well-known, beloved, proven software stack. We are focusing our first release, which is planned for September already, on tablet computers.
Since fixing a bunch of showstoppers over the past two weeks, I’ve actually started using Plasma Active for some light reading tasks (mostly web and RSS), and I’ve got to say: It rocks your socks. Being able to use a tablet computer which is based on Free software that you created yourself, is real fun. I’ve also handed it to friends who came by, and while they understood it’s an early prototype, I had a really hard time getting my gadget back. And that is only just the beginning. We have an excellent base to build a complete experience upon. In other words, it’s the perfect time to jump in and become part of something great and to help it also making it something really big.

Different goals need different processes

Widgets on Plasma ActiveWhen we put the pieces for Active together, it quickly became clear that if we want to succeed, we also have to rethink some of our collaboration processes. One of my pet peeves has always been that different essential parts of what the user gets in her hands come from different teams. If we want to put something desirable into the hands of our users we need to pull in the same direction. While we needed different skills, these skills have to align in how they’re applied. This makes communication more natural, leads to a more focused process, and ultimately a better result. It’s clear that such an endeavour will only work if enough people in our communities, and the communities around it think that this is a worthwhile thing to spend their time on, and that we can get the people that do to pull in the same direction. The good news, however is that we’ve been able to create a stable platform to do this, in terms of tools, processes, collaboration models and not at least software. That platform is Plasma Active.

Sounds interesting?

If you want to help us shape Plasma Active, and bring its vision to reality, we would like to invite you. Start with having a look at our list of tasks, and if you find something you can help with, tell us, subscribe to the Plasma Active mailing list, or join #active on Freenode’s IRC network. We have documented our ideas, concepts and processes in the wiki.

In the coming weeks, we will keep you updated about Plasma Active’s progress, and we will be able to reveal more of our vision as we give Plasma Active shape by making it become reality.

of rockstars, unicorns and Isaac Newton

A question that has bugged me for some time, is “how we can bring our creations into the hands of more users?”, and how we can show the world that a truely open and community developed system can bring great value to more people. How can we overcome the technical barriers that hold back so many people from benefitting from our hard work, all the genius, love and creativity we put into software. Since my first contact with Free software, Linux openSUSE and KDE, we have done some very solid work. We have technically caught up with Microsoft, and are delivering a product that is up to par in many aspects, and better in many more ways. While we have booked immense successes, we have not reached the goal of making the Linux desktop ubiquitous in the desktop market. In a world of iPhones and Android, we even see closed development models based on similar technology as ours being a big success, market-wise, but failing to deliver the full Freedom of a community-driven development model to end users.

Stormy weather on a calm sea

The past years’ development has completely changed how users interact with their digital environment. Where we used one desktop computer for all of our digital needs only a few years ago, there is a wide range of devices for specific use-cases now. This (I think very positive) development has widened the spectrum of devices our software can be used on. It has also effectively broken Microsoft’s monopoly in the market, which is now much more open: concurrent products such as Windows, iOs and Android. Looking at both options, many users experience a gap, however. With the market especially for tablet computers being brand-new, there is very little choice for users. If you want to have a tablet computer today, you can get an iPad in return for your soul or get a blown-up phone built to add your most personal data to The Big Index. If you’re of a more patient nature, you can cross fingers while waiting for an evidently upcoming surge of new tablet devices. If you’re interested in both, control over your data and control over what you run on your machine, bad luck.

While moving away some of their Internet use to other devices with more a more clearly defined purpose, and starting to use the Internet in completely new ways, many users have also found out that computers != Windows ™. New methods of input, and graphical effects allow for a more ergonomic use of all that’s out there. Dramatically increased user expectations demand more intuitive, beautiful and elegant user interfaces and ways for interacting with contacts, content and the web. This demand is I think very positive, for two reasons: users are much more willing to try new UI concepts, which leaves more room for innovation to creative people who really want to do something better. One positive aspect is that the demand for an awesome user experience makes the software running on the device, and the services it is offering more critical the desirability than the hardware, comparatively. Interpreting this as “the power to shape the product is now in the hands of the software developers” is unfortunately (I am a hacker) also very wrong. Let’s get back to that later.

Back to our question (remember, that was: “how can we bring our creations into the hands of more users?”), this leads me to believe that a locked-down market for end-user software is a thing of the past. To no surprise, increased competition comes with more pressure to deliver something really great.

Genetic advantage

Having studied, participated and helped shape Open Source development processes for a few years now, I’ve come to conclusion that the Free software community has three strengths that are critical to its success:

  • Economic force: We share resources. While we spent much of the past ten years to catch up with Microsoft on the technical side, the Free software development and licensing model simply obsoletes many closed source options. This basically means that you need a really large internal workforce and a lot of appeal to make your product competitive, or that you have to plug into the resources of the Free Software community.
  • A different agenda,: we are not primarily driven by monetary aspects, unlike our competitors, so we can for example license our software in a way that might not be economically effective at first, but provides much more long-term value. Not being limited by return of investment type obligations, our different agenda often shows that we can address a class of problems where “what is good for the user?” differs from “how do we make money out of that?” completely much better than our competition.
  • The Magic Spark: Open communities are much more receptive to healthy diversity. We’re many, and we all bring different things to the table. The chances of something genius happening are simply much better in an open and friendly environment, than behind closed doors.

Our chronic fragmentation issue

One of the really hard problems we have to solve though, is the fragmentation. Due to the diversity, we don’t work enough as a team, and while often share the same values, our vision of how our creations end up in the hands of end-users differ wildly. To solve the fragmentation, we have to have not only shared values, but also a development process supporting our vision, and we have to have a shared product vision. Yes, product vision. As bullshit-bingoesque as that sounds, the simple truth is that we have to use our strenghts to create something desirable, we probably won’t enlighten many people with the great value Free software can bring to the table with religion. On the positive side, desirability works very well for me personally. Much of what I do is driven by a sense of creation, and if the output is something that others want, it gives me the accomplishment of having created something of value. Desirability is the primary driver for this, it’s both an excellent product vision, and a fine goal to strive for personally.
There is one conceptual mistake about the fragmentation issue. The problem is not that the Linux community as a whole doesn’t work together, the problem is much more that not the right people are working closely together. The real problem isn’t fragmentation, it is the lack of full-product-thinking.

There is much more to the fragmentation issue, though. We’re trying to analyze this problem not from our own view, but from what is necessary to achieve our goal. While we have had limited success to attract UI and interaction designers, that excel as much as many of us do in our own fields, we have yet to shape the process in a way that is both attractive to people who can contribute design expertise, and helps them put their energy to good use. If you have ever seen a graphical artist cringe, when you showed him your finished application and asked him to now make it beautiful, that was a symptom for this brokenness in the process. So in those fields where you’re honestly lacking manpower, you need to work twice as hard to attract new blood. You need to cover the whole process, so this is one of the problems that need solving. Recognising that you lack this expertise (by asking yourself all those hard questions) is the first step. Communicating that you are open to such participation is an obvious second one. Proving that you actually are, and making that visible helps you get further. Defining yourself in terms of a common denominator helps. If you want to reach non-developing contributors, you might want to stress the free culture aspects of your project, if you want to attract designers, make sure people see that design plays an important role in your project. Offer and prepare the tools designers need to do their work well. Paraphrasing, if you ever had to ask a graphical designer to use a compiler, you’re doing it wrong, and you need to fix that.

Natural selection

Once all of the above is realised, the really hard part is of course to find this shared vision of something desirable. There are a couple of interesting aspects around this, many of them have to do with creative and outside of the box thinking, and about creating an environment that supports the growth of these ideas.
Let’s look at the process-side of things, however. Statistics tell us that it’s much simpler to find a shared vision among a bigger group of self-selecting individuals than among a smaller one. This means that we have to look across project borders, across comfort zones that have come natural to us — from both sides.
From another point of view, to create something desirable, we have to apply the same vision across all aspects of the software stack. This means we have to work from top to bottom. We need to build applications that users want, user interfaces that are beautiful, modern and adaptive, we need to get the technology underneath right, and we need to find suitable (by many measures) devices to run our software on, and it it also encompasses thinking about our collaboration models, taking the good parts and combining them with new insights, tools and processes. It means we need to think in creating a complete process that covers all these aspects from creation into the hands of more people.
A self-selecting group has one nasty, but natural attribute: it also means that some people do not take part. This is of course fine, if something is not your cup of tea, that doesn’t have to keep others from drinking it with great pleasure. Support can in some cases be as easy as letting go, and at least not providing pushback to something that might — or might not, this is not a no-risk game — create something truly great in the end, at least for some. Different priorities, agendas or simply envy can cause unproductive friction.

On the more cheerful side, such a group is absolutely killer to work in, being able to work towards your goal among a group that is heterogenous in skill and origin, but homogenous in the direction to take, you can pull amazing amounts of weight. This makes it (relatively) easier to make a difference, and your work is more likely to produce something that makes you happy. A friendly environment and good communication that costs little but gives back much energy is critical factor to create a positive feedback loop, a critical mass to get off the ground, momentum to move and keep moving your dream to completion. While participating early requires recognizing such a vision, and probably a certain willingness to take a risk, to endure uncomfiness in the beginning, it allows you to shape important aspects of that vision. A vision only goes so deep, making it come to life reveals all its facets, to you, but much more to those that hold your creation in their hands and recognise its value.

Unicorn or horse?

It is a common myth that great ideas just spring into existance. While there surely needs to be a spark, turning great ideas into a success is also very much hard work. Without checking my facts, I’d say it’s a reasonable assumption that all the years of hard studies, and understanding many things new and old, crediting the apple for hitting Isaac Newton is probably wildly irrational. Conversely, you might study all your life, and never get hit by the proverbial apple.
There is a way to make this apple more likely to hit you, however. Obviously, being well prepared, with all the tools and knowledge needed is a first. But you also need to answer all the hard questions. You need to look at the complete spectrum of aspects of your potentially genius idea. It means leaving your comfort zones, talking with others, being receptive to their ideas and incorporating them into your vision. That sometimes means that you have to take a step back from that concrete picture in your mind, and rethink what you are really looking for. This can be very hard, but doing this in a team of people with different background can help a lot (note that not everybody in this team of domain experts needs to take part of your group, you’re after the input they provide. You don’t have to convince them, you have to find the right answers to the questions they pose. Spotting a unicorn among a large herd of horses is much more a self-reflection game than a convince-and-defend battle.

At the same time, you have to recognize when people give you input without actually wanting to help you understand all the details, sometimes you get advice, even pushback because someone does not think it is good to drive attention away from something that is more important to them. The truth lies in the middle, of course. While you have the right to enthuse people about your ideas, you also have to play nicely. Notwithstanding altruism and the general rule of “don’t be an asshole”, being too aggressive about your own project will drive others nuts. The more success you have, this worsens. Higher trees catch more wind. In a way the amount of shit you see flying in your direction can be seen as a matter of success. It’s generally not productive for your own goals though to actually engage in this way, unless absolutely necessary. Check twice to be sure. Negative energy can have a desastrous effect on your productivity and on the joy and direct motivation you get out of your work, and that is in fact true for everybody directly involved. Ignoring the naysayers for naysaying is often a much better way to keep sane, than constantly paying close attention to it, trying to find the one good point they might have out of a stream of dung coming your way. It helps a lot when you recognize these patterns, learn how to mitigate communication going awry, and deal calmly and cool with potential real issues at hand. Do not forget to put mechanisms to shield yourself in place, in case it runs out of control. Do not underestimate that creating and maintaining a playing field that is fun for all to use is critical. Try to not make the neighbours angry, either.

Communication and scalability

Now let’s imagine you have this great idea. You know that you’ve something big in your hands, and for the sake of simplicity, it’s a truely genius idea by all reasonable and objective measures. In other words it truely kicks ass. Moreover, you have figured out most of the technicalities, so we even can be sure it’ll actually work. This just has to become a success. But how?

I’ve seen some really great ideas not coming to fruition because a key person ran out of breath. Imagine being a 17 year old kid, becoming a rock star overnight. Suddenly, playing the guitar exceptionally well is not enough anymore. You have to make sure that all the interest doesn’t fire back on your ability to ‘to your thing’, you need to think about how to deal with all the sudden interest. It’s a good idea to prepare that early on, so that you don’t have to explain everything to everybody in great detail. Writing down all the answers to the little questions you answered is a very much needed thing. If you want to convince people of a great idea, you have to give them the chance to understand these answers. If you can’t keep up with answering people’s questions, and you answer the same question in great detail over and over, that might be a sign that you should have put together an FAQ, or something that presents your idea in a more comprehensive way, and in a way that is easy to understand from the point of view of someone who might only spend a short amount of time seeing your idea. Clear, targeted documentation helps to mitigate the ‘running out of breath’-problem.

… aaaaand?

Now you expect a real conclusion? I certainly have something on my mind already. (What would your own little private view of the world be without the Answer to the Ultimate Question of Life, the Universe, and Everything, after all?) But let’s leave that for another day, maybe a Thursday.

Slicing up the Web

The Webslice applet has been in Plasma (kdeplasma-addons, to be precise) since 4.4 already. It allows the user to display a part of a webpage on the desktop. This can be useful for monitoring only a specific part of a webpage, or just to display something nice.

The Webslice applet has been written by Richard Moore and me as a functional prototype, but didn’t see much love since it was added to Plasma for 4.4 in 2009. Its basic mechanism is that you specify a “slice” within a website, which is a rectangular region. This region then gets shown in the applet, and resizes dynamically with it, zooming the “slice” in and out. The widget basically worked, but had two significant problems: Resizing was very sluggish and bound to a kept aspect ratio, and you needed to know CSS2 selector syntax to actually use it.

Earlier tonight, I’ve committed a set of changes which address these problems, and backported them after review on the plasma-devel mailing list to the 4.6 branch, so these changes become part of Plasma 4.6.1, which will be the first service and translation update to 4.6.0, which we released yesterday.

Performance

3 Webslices showing different parts of different webpages in diferent sizes First, the resize issue. The Webslice applet uses a webkit view, which displays the page and is positioned (basically scrolled with scrollbars switched off) and zoomed to fit into the area the applet covers — fairly simple in fact. The performance problem was caused by too much resizing which got passed down the stack (if you scroll and zoom a website every couple of milliseconds, it becomes quite heavy on the CPU easily. I’ve addressed this by cleaning up the codepathes that lead to resizing, so that it only causes the resize (and thus the repositioning and zoom of the webpage) when absolutely necessary. Resize events from the applet are now compressed a bit, so that we don’t get more than 10 resizes a second. That’s “good enough” for the user to see what effect his mouse-dragging has, but doesn’t have the sluggish effect. Then, while resizing, I’m freezing webkit’s tiled backing store, for an additional performance boost. The result is very noticeable, the lag and CPU-hogging while resizing is gone, and the sizing of the applet is much less unwieldy with these changes. In that process, I’ve also switched to a non-fixed aspect ratio. Bug #1 thoroughly fixed.

Improving Interaction

While configuring the widget highlights the selected slice in the page overview Next-up, slice selection. As I already mentioned, that was neither easy, nor user-friendly. (If you’re running, 4.4+, give it a shot, it really sucks ;-).) First off, you need to know CSS2 selectors (they’re quite easy, in most cases you want #myid for an element in the page being marked with id=”myid”), but still limit the utility of the widget to a rather select group. (Does this make the widget 1337?)I’ve been pondering how to best offer this to the user. It should be easy to pick a slice from all the elements that are there. The first thing I did was to turn the lineedit where you’d input the CSS selector (#myid or whatever) into an editable combobox, already containing elements to choose from. That made picking a slice much more “determistic”. Still, the #myid names are not always telling you what part of the page their actually displaying, so some more feedback is desirable. My approach there is the following: When the user opens the configuration dialog, the page is zoomed out and fully shown in the webslice applet, it switches to a preview mode. The user can now enter a different URL, and temporary load this in the slice applet. The combo box containing the elements is now updated to contain the elements of the new page. Website picked, now let’s pick a slice. By selecting a slice from the combobox, the preview mode highlights the position of the currently selected slice in the widget. You apply and it zooms in there. A nice touch is that you can “scroll” through the slice by hovering over the combobox, or flip through them using the arrow keys while focusing the combobox.
All in all, not quite unintrusive changes, but considering the widget wasn’t of much use due to above described problems anyway (there was one bug filed against it — likely a bad sign, I’m not that good a hacker). Marco and Aaron were kind enough to review the patches and agreed that they won’t hurt much, but do provide a nice set of improvements we’d like our users to get fairly quickly, not just next summer with 4.7.

There are a couple of loose ends left for 4.7, though. As I wanted to keep the possibility of a backport open, I’ve not changed any strings in the widget, adding an explaining tooltip here or there might be useful, but also some more flexible sizing options (what proportions to use for the initial rendering — that matters for fluid layouts, how to clip if the size of the widget doesn’t match the aspect ratio of the slice, etc. I’ve chosen “sane defaults” for these things now, but it’ll probably be nice having that available as an option to the user.

Create your own webslice Plasma widgets in 4 minutes

There’s one neat thing left to tell about the webslice: You can easily create your own preconfigured slices. In order to do that, copy and rename the .desktop file, change name, comment, icon, if you wish, then add a line like

 X-Plasma-Args=http://mysite.org,#myid 

Copy the file to ~/.kde(4)/share/kde4/services/, run kbuildsycoca4 and add your newly created webslice to your Plasma using the widget explorer.

A possible direction we can take this is to add a webslice category to opendesktop.org, and start sharing our webslices with each other…

4.6.0 Available

I’ve just pushed the relevant buttons to make the release of 4.6.0 a public fact. Packages should appear shortly for your favourite operating system, I know that openSUSE packages are available from Factory now, so start your zypper already.4.6.0 Released

The release is actually a pretty big thing, it adds a lot of new features, some of which very visible, others being less noticable. There’s the mobile profile for example, which makes it much easier to use KDE frameworks in your mobile application. Then we have the re-vamped activity manager, that adds a way to group applications in their context and makes it possible to manage these activities like sessions. So head over and read what’s new in the Plasma Workspaces, the applications and the KDE development platform.

open-slx end-user platform announced

A couple of months ago at open-slx, when we (like so many times before and after) talked about how we can make the lives of Linux users easier, an idea was sparked. While there’s huge amounts of content out there, it struck us that there’s still a large number of people not being too well served when searching Google to get answers to your questions. This poses some problems though: First of all, most of the information is not in English. This poses an extra barrier for some, who might not be as fluent in English as we developers usually are. Then, the content is hard to verify: How do I *know* that the information given there makes sense? Maybe it will just delete all my erotic movies? ;) So the problem is that there’s little content for the German end-user audience, which is hard to verify. So a team consisting of openSUSE community members and open-slx employees led by my colleague Rupert Horstkötter has set out to fix this problem. They looked into existing solutions to these problem, and found that what is currently running as ubuntuusers.de comes closest to the solution we have in mind. We got in contact with the team at ubuntuusers.de, and they were enthusiastic about the idea and willing to make it happen. A good start.

Then comes the real work of course. We’ve worked out a concept that allows us to provide a modern support tool for our users, which builds on two pillars: information and interaction. The concept we come up with puts this into three different tools: a wiki as knowledgebase, a forum to discuss articles, questions and to get in contact with other people, and a blog aggregation (Planet) which collects news about developments in openSUSE and howtos for specific topics. In order to accomplish this gargantuan task, we’ve asked for help in the openSUSE community. People were immediately enthusiastic about the idea, and started chipping in, helping to review and improve lots of articles.

Over the past few months, we have reviewed about 2000 articles from the existing ubuntuusers.de knowledgebase, prioritizing 500 of them, and adapted the articles to modern standards and that they apply to openSUSE. These 500 articles form the foundation for the knowledgebase we created for the open-slx community platform. We’ve also set up a webforum users can use to communicate and ask further questions, and we’ve put up a blog aggregator.

So, if you’re a German-speaking user (or future user :)) of openSUSE, hop over to community.open-slx.de and see for yourself whether this new platform fits your needs (and if it doesn’t, let us know what we can improve). You can find the official announcement here.

Running for the openSUSE Board.

I’ve just sent off an email, in which I’m announcing my availability as candidate for the openSUSE board, which will be elected in early 2011. Here’s what I wrote:

Hey openSUSE community, valued election committee,

Following up on the call for candidates, I’d like to let you know that I’m intending to run for the openSUSE Board.

In my dayjob, I am responsible for user experience at open-slx, and will be able to invest time on a regular basis into participating in the openSUSE board. I have a degree in business science, which gives me some formal insight into organisational processes, this has helped my work for the KDE e.V. in the past, and it will surely be benefitial for openSUSE. I am 34 years old, and live in Nijmegen, in the east of the Netherlands.

I have more than 4 years of experience in administering a Free software project (I’m member of the KDE e.V. board since 2006), and during this period have helped turning the KDE e.V. into an effective community representation and supporting organisation, which in many ways acts as a role model to other, similar organisations. The Geeko in me is about 9 years old, it started with openSUSE 7.2, which got me hooked on Linux. After a period of trying all kinds of Linuxen, I’m firmly back to openSUSE for about two years now.

openSUSE represents to me a technically excellent product with a friendly, helpful and skilled community around it that is failing to realise its potential, and in many ways is searching for orientation and a clear mission. Aside from organisational topics, this process I’d like to facilitate.

My platform for the elections is to help set up the openSUSE e.V. (or rather a legal representation of the community, as outlined in the current plans), and to help the community through the process of becoming more independent from Novell, which in my opinion is important for the growth and sustainability of openSUSE as product and community. I’m a Free software dude by heart, and the principle and ethics of the Free software community will be what drives my decisions as executive. My experience as "cat-herder" will be beneficial in the same way.

I do realise that my involvement in the openSUSE community has been fairly transparant, following things from the sideline, stepping in actively here and there, and certainly far from taking on any role as rock-star. I am planning to further ramp up my profile, since that a) will make the members’ decision during the elections a lot easier, and b) it improves accessibility and visibility of the TOTRoS (The Organisation That Represents openSUSE).

This email is just to let you know in advance that I’m intending to run for the board. As I /also/ intend to go on vacation on Friday, I might appear unresponsive until ~christmas. Still, I opted for letting everybody know early on that I’m intending to run (rather than sending my note of intent to run after christmas), as planning will likely make the work of the election committee a bit easier.

Surely, if you’ve questions already, feel free to ask. I will, after returning from vacation be more outgoing about my involvement with openSUSE and my ideas and plans for the openSUSE board.

Thanks for your attention, and your support.

*jumps off the soapbox*

Cheers,

—

sebas

we are out of househacking & KDE e.V. Board Meeting in Nijmegen

I’ve just returned from our local microbrewery, Brouwerij de Hemel in Nijmegen, the Netherlands, the place where I live after a nice dinner with my fellow KDE e.V. Board Member members. Friday and Saturday we had planned to hold a two+ day board meeting here in Nijmegen. Kim and me have moved into our new house in Nijmegen two weeks ago and we’re now mostly settled, meaning all critical parts of infrastructure work and are in place, and we can pick up our lives again, after two months of updating, maintaining and facelifting it from the inside. We’re now fully settled. We’ve moved inside Nijmegen from a rather nice flat into a larger house. We got the keys to the new house two months ago, and have spent this year’s september and october on painting, wallpapering, insulating and other facelift and maintainance work. Luckily, many of our friends and families came by to help us here and there. The whole process went pretty well overall, and we stayed inside our budget aswell with a result that’s really a nice improvement in terms of quality of life at home. Part of the renovation work in the new house was upgrading the attic, which was mostly used as storage space to a modern relaxed working environment. As I work from home, effectively I’ve moved office and home at the same time. The attic is now nothing short of a humongous home office, housing my large corner-desk with the dual-screen workstation I use for daily work at home, a sofa, "relatively neatly" organized cables (we all hate this mess, don’t we?!), a cool new TV with internet and UPnP snazziness, hifi system hooked up to computer and TV, a nice couch, air-conditioning, large windows, WII, etc. The roof got a 8cm insulation layer as well, so the house is much less of a climate waster now that we applied some TLC (blood, sweat, no tears) to it. One the one hand I feel like the small boy again being all happy and impressed by all the new toys, but on the other hand I’m already experiencing in my first two weeks of work in the new office that it’s exactly what tickles me to be productive and relaxed at the same time — I love it when a plan comes together.

One of the factors I’ve considered for the new office is the lighting. I’ve chosen three differently placed sources of light: 4 built-in spots above the desk, three spots under the rooltop, and two small diffuse table lamps in the lower corners. They’re separately dimmable using a small remote control, so it’s easy to adjust the lighting in the room conveniently from either desk, or couch. I’ve used halogen lamps for all lamps, after playing around with different options. There are energy-saving lamps, even the supposedly dimmable ones don’t work really well when combined in different settings. I’ve tried three different products from different vendors, and they were all not working well, meaning flickering, inconsistent switching, delays in lighting up. Even the more expensive ones (supposedly dimmable) are basically unreliable and annoying. In our bed room, I’ve installed LED lamps in a 3-spot lamp. The first set of LED lamps I’ve tried for it worked well (no dimmer involved), but the light was abit on the "cold" side. It looked a bit too slick for a bed room. I’ve replaced the lamps with similar lamps in 2700Kelvin (the ‘colder’ ones were 3000Kelvin) and the light is certainly comparable to Halogen light. The downside here is that the lamps are really expensive (~40€ a piece). They’re supposedly dimmable, but I haven’t tried that yet. The halogen light that I ended up installing in most places (either as lightbulb with inner halogen lamp, or as spots) gives the perfect, most stable and well-toned light, and dimms perfectly with very low thresholds on the dark side and really bright light when turned up. Halogen lamps are comparably inexpensive, but they not exactly energy-effective (only save about 30% compared to traditional lightbulbs, whereas you can easily save 70% by using LED lamps. The trade-off will likely go towards LED lighting in the near future, as the technology matures, R&D costs are being earnt back and economies of scale make LED lamps more affordable.

In the preliminary end (last monday-ish) the house was ready for its quite unusual inception and first stress-test: KDE e.V.’s fall board meeting.

KDE e.V. Board Meeting

Celeste Lyn Paul arrived on Thursday morning from Washington DC, Adriaan de Groot (fellow Nijmegenaar and e.V. vice president, Frank Karlitschek and Claudia Rauch, KDE e.V.’s business manager attended respectively spoke at the Netherland’s UNIX User Group’s semi-annually conference. After letting Celeste in and quickly showing her where she can find what she needs (quite easy: shower, place to take a nap, possibly food / coffee, etc.) I headed out to a meeting at the NLUUG conference in Ede where we looked into funding opportunities for KDE developers. Interesting stuff, of which I hope we can materialize some in the coming months. After getting back to Nijmegen, Celeste and me picked up Cornelius who arrived at the train station, and we went for dinner in the oldest bar in Nijmegen, De Blaauwe Hand. Tapas-style food and some bok beer really kicked off the board meeting. The weather solidly sucked with rain and wind, which is very expectable on the one hand and provides big grins on the other hand when explaining that trains are delayed because the wet rails are slippery (seriously, wtf).

The next morning, after a rather "warm" welcome the night before, we started planning the meeting. Usually, we prepare the agenda before the meeting, this time we decided to be a bit flexible there and decide about the agenda at the beginning of the meeting. I don’t think it made a big difference in the end, so in the future I’d probably lean towards prep’ing the agenda before the meeting on the mailing list, to save some valuable face-time for less administrative tasks. The board meeting was otherwise pretty productive. It struck me that the load of administrivia to deal with was rather bearable, which reflects well on the work we’ve done over the past years consolidating our operations. "Consolidating our operations" of course means "Claudia and her team in the Berlin office (currently Agata and Jenny, previously Torsten) take board member’s headache away. :-)

The fact that the KDE e.V. is a well-working, stable and effective organisation is quite convenient as it allows us to be more out-going, and more "enabling" as an organisation. While we have increased our investments in things like developer sprints, Akademy, travel support for KDE developers, promotion and many other organisational things, we have also been able to increase the income alongside: both sides of the balance are in healthy ratio. As we’ve planned quite conservatively financially over the past year, we even have some financial space to tackle bigger ideas. One idea of Cornelius I really liked, but it’s just too awesome to share at this pristine point, so I’d rather disappoint my readers here. Stay tuned, anyway. :P

I’m really proud to have contributed in this rather special way, by hosting my fellow board members here. We’ve had lots of good meeting hours, but also some very valuable face-time. Kim was rather helpful in the background, so that’s where the credit for the host should really go. So much for Nijmegen. Tomorrow, Frank and I will be doing some hacking here, and then flying off to Dublin for the MeeGo conference. In short: after having taken some more time for personal stuff, I’m back in full swing. Arrrrr.

Moving.

Just a quick shout-out, K, me and the pets (and computers) are moving into the new house now, which means I’ll be hard to reach over the next couple of days. I should be fully moved into my new home office on Monday. Progress can be monitored here.

See you on the flip side. :-)

Schizophrenic clock effect

On the train back from the openSUSE conference, I read an article about improvements in Plasma 4.5 in the German edition of Linux Magazin. The author noticed the re-designed notification area with its more consistent and clean look, but also mentioned that the clock looks visually somewhat outdated in the panel now. Fair enough, most of the notification area has seen a bunch of iterations over their looks, but the digital clock didn’t really receive much visual love other than bugfixes in alignment and layout of the clock. I thought a bit about what would make the digital clock look better, and identified two things: the full bleed color sticks out a bit, and the clock looks flat compared to its neighbours in the panel.

Touching up Plasma's digital clockAfter a couple of iterations and with feedback from some Plasma (and non-Plasma people) I have just committed to Plasma trunk what I think is a good-looking solution, and a touch-up of the panel, making the whole look more belonging to each other. As you can see in the comparing screenshots, it also works well with a dark theme, such as Oxygen. What I did is the following: First, there’s a backdrop behind the clock’s text display now, in the background color defined in the Plasma theme. On light themes, such as the Air theme, this produced an emboss effect, making the time appear slightly sunken into the panel. On dark themes, the backdrop is dark, and hence looks like a shadow, so the time seems slightly elevated. This difference in appearance has to do with how the human brain interprets dark and light colors. Wired has an interesting article giving some background on this — it appears that schizophrenic people’s brains interpret this in a different way.

Clock with new effect on the desktopSecond, the time is now also displayed with a translucent gradient in the text and has a very subtle appearance of a lighting source, making it looks less flat and a tad more natural. The translucency gradient makes the time stick out a bit less, while still having enough contrast to be able to read it. The effect is a bit more clearly visible in a bigger clock, so here’s another screenshot of that. Thanks to Fredrik Höglund for this nice idea and the pointers how to do it. (You define a gradient a QLinearGradient, create a QBrush using this gradient, then you can instantiate a QPen using this gradient brush, and use this pen to paint the text.)

This might look like a small improvement, it’s nevertheless time well spent. The clock takes space on everybody’s screen, most of the time, so it should well be doing its job in an elegant way.

openSUSE conference 2010

These October days, I’m spending in Nürnberg in Southern Germany to attend the openSUSE conference. My role here is three-fold, first and foremost I am here as a representative of open-slx, my employer who sells products and services based on top of openSUSE. Then, I’m a KDE ambassador. Finally, I’m also getting more and more involved with the openSUSE team, getting to know many people and learning about challenges and opportunities this community faces.

That last one is actually really interesting, as the openSUSE community is in the process of re-finding itself. There’s the discussion about strategy going on, which is I think mainly formalizing the biggest problem openSUSE has: It’s lacking a common direction. This is a symptom of good and bad things, it reflects the diversity in the openSUSE community, which I think is of great value. On the other hand, it makes it hard to deliver one coherent product as there are nearly as many goals and opinions how to reach these goals as there are people in openSUSE.

Another part of this process is the de-coupling of the openSUSE community from Novell. This independence is very important for the Free software community since it means taking your own decisions — for instance about the direction of the product. Now my impression is that Novell doesn’t want to abandon openSUSE, but it’s trying to make it stronger by giving it more independence, it’s some sort of growing up of openSUSE.

Yesterday, I attended a session about setting up a foundation for openSUSE that can manage funding, governmental aspects and other more organisational tasks. Interestingly, the openSUSE board has (after looking at many comparable organisations in the Free software space) taken a direction very similar to how KDE with the KDE e.V. backing it up is set up. This is good to hear, since on one hand it validates the work we’re doing in the KDE e.V., and it’s yet another way of sharing in the Free software ecosystem. (Actually, we get requests for organisational assistance from Free software or Free culture projects on a somewhat regular basis.)

I’ve just attended a talk by Cornelius and Vincent (KDE resp. GNOME) who were talking about freedom in the cloud, giving a nice overview how the values of Free software apply to application used from the cloud. The rest of the day is packed with technical sessions, which I’m really looking forward to, and towards the end of today, I’ll talk about user experience in openSUSE. Actually, I’ve decided to talk about user experience and interaction design in general, explaining typical design processes and tools. I aimed for a talk teaching and explaining techniques this time around, since I think that this applies best to a community from kernel hackers to UI designers. My hope is that people will take away some ideas of how to improve the user experience of their work.