Friday, March 19, 2010

semi-random thoughts for the day

Plasma Netbook Reference Platform



A couple days ago I downloaded a build of the Plasma Netbook Reference Platform (PNRP?), threw it on a USB key and for the first time ran it on an actual netbook. Up till now I'd been running it either on my laptop or on funky "developer devices" hooked up to a normal monitor. Putting it on one of the first-gen EEE PCs was really eye-opening. The whole form of the user interface makes so much more sense on a smaller screen, and it worked right out of the box quite nicely. There were a few issues here and there, and some new issues related to design came to light as I sat there watching P. use it (he loved it, and is now back to using that rather old netbook now because of the new interface on it). This is exactly what we hoped for when getting PNRP up and running: being able to easily see it in the proper context and get working quickly and effectively on improvements. Since my experiment with P and the old netbook, there have been two new builds and I'm about to update his USB stick to today's version.

Some have also been asking how this relates to the Kubuntu Netbook effort. Kubuntu put out a tech preview of Plasma Netbook and continues to ship a netbook version. Why didn't we go with Kubuntu, then? Well, that question is a loaded one. In particular, it implies that only by sticking exclusively with Kubuntu would Kubuntu's efforts be validated. To me, those efforts stand on their own as being great and valuable and it's still something I encourage and support personally.

The openSUSE Build Service gives us two new things, however. One is a new set of tools that makes the "test, feedback, change, test again" and "try, change, publish alternate" workflows easy beyond belief (and the tools work on all major distributions, including *buntu, Fedora, Mandriva, Debian..). Plasma Netbook wins and that means our users win, regardless of the distribution they ultimately use it on.

The other thing using OBS gives us is another distribution joining in and getting involved. Instead of Plasma Netbook being theoretically available everywhere but only available in an "out of the box" configuration specifically for netbooks with one distribution (Kubuntu), it's now available "out of the box" for netbooks on openSUSE as well. I hope that number of out-of-the-box-for-netbook distributions continues to grow, and grow faster.

Testing and growth is precisely the reasoning behind the PNRP. It gives people something to play with and improve upon, but it also gives those who would package up Plasma Netbook a gage by which to measure what a Plasma Netbook release should look like (that's why it's called a ("reference"). This will only help to improve Kubuntu Netbook and will lower the cost of entry and raise the chance of success for any other OSV (or OEM) who wants to engage with Plasma Netbook.

Summary: we're working together with as many groups as we can to float everyone's boats higher. It's not a choice between one or the other, especially not when there is a "Help everyone!" option for us to choose.

Take a moment to take the Plasma Netbook Reference Platform for a spin and discover just how easy it is go get that thing on a USB stick and booting on your netbook. The ease of a live CD, the speed (and persistence between boots) of a hard disk install. Huzzah!

We Do More Than Chase Taillights



The community press is fairly awash with stories about Linux on tablets. Why now? The iPad. This is what we're best at it, isn't it: chasing other people's taillights. Ok, that's a bit dour and we are actually really good at creating new stuff too. But when someone else comes out with something great, we steamroll off with amazing momentum to react. The word "react" is an interesting one: it's the combination of "re", which indicates repetition (it can also mean, funnily enough in this context, "backwards"), and "act". While reacting is important in not letting Free software be end-run by the good ideas of others, we also need to be proactive. The prefix "pro" can mean this: "a prefix of priority in space or time having especially a meaning of advancing or projecting forward or outward".

The good news is that we are often proactive and there is a lot of interesting work being done in Free software. The concept of "activities" are big topic right now for us in Plasma, to pick just one example, and they aren't to be seen outside of Free software. There are many such examples to pick from, but there's something about our proactive work that fails us. After all, why aren't the MacOS or Windows fanboys railing on about the need for activities on their platform? (Ok, besides the fact that they are still a work in progress on our platform; but I predict when we ship them fully formed, that still won't change the answer.)

These companies do something we don't which we ought to be doing: not only are they proactive as well as reactive in creating technologies, they tell people about what they've done.

If the press, driven by our promotional efforts (across Free software, not specifically/only KDE people), spent the same effort publicizing our proactive efforts as they do our reactive ones it would be wonderfully (or painfully, if you are competing with Free software ;) apparent how well F/OSS does on the innovation front.

Defining Ourselves By Successes



We also need to learn how to define ourselves by our successes and see our failures as interesting, expected and required by-products of the road to those successes. There are people in the community who look at our success in countries around the world and discount it all as being "not relevant" because it isn't in the country they live in, and therefore conclude Free software has failed generally. Similarly when we talk about using KDE (or other F/OSS) software in production usage, instead of defining our successes and positioning ourselves in line with them we too often discount all possible usage of that software because of failures that affect only a portion of the market. This leads to us eliminating ourselves from entire market segments that we are perfect for just because we aren't (yet? :) universally perfect.

This would be akin to Apple telling nobody to buy the iPhone just because they don't feel they, as a company, are a great fit for the enterprise or that due to the lack of multitasking the iPhone is a poor choice for a variety of use cases. Those are both statements of truth, but that communication would do a great disservice to those whom the iPhone does work just fine for by preventing them from trying it. Now, if we made the iPhone we'd make double sure people know it wasn't ready for the biggest of enterprise usage and how our lack of multitasking is a "real issue that makes us not ready for production usage". Yes, we would be able to take the iPhone and destroy its potential success in the market. This in spite of many of the people I know who are "guilty" of this behavior thinking the iPhone is a great product, a feeling they have because they have been made aware of the benefits clearly and because it is a product, faults and all, that is clearly defined by its successes.

Note that Apple does not ignore (all) failings: eventually the iPhone OS will do multitasking. Nor do they try and say that it currently does indeed do multitasking. They aren't saints (I'm not a fan of their use of legal pressure and ultra-secrecy), but we can learn from some of the things they do well. I also love their approach to the enterprise by seeing sales to enterprise customers as "collateral successes". They don't perceive themselves to be a failure because they don't do well in the enterprise, they are a success because sometimes they win even in places they do poorly. Imagine if we had that same healthy viewpoint of F/OSS? There is no excuse not to.

So not only do we have to be proactive (as well as reactive) in creation, we have to be able to define ourselves by our successes and speak openly to the people who are well served by those successes.

Speaking Openly About Our Failings



In my opinion, the best place to speak about our low points is with each other, where "each other" is defined by "the people working on those things". This is how we can identify and fix those issues. I'm not advocating actively hiding them from the public, but talking with each other about them is the best way to see improvements be made.

When we decide that our first action will be to broadcast what we see as problems via, say, our blog we are setting up a very nasty situation, especially if we're talking about someone else's work. We may not have the whole story, and spreading half-facts or even incorrect information does not help anyone.

It reminds me of a story about a guy who was spreading rumors about this other fellow called, for ease of story-telling, Bob. Bob and the rumor monger have a discussion about the rumor and it turns out it was largely a misunderstanding. The guy apologizes for the misunderstanding and expects it to be all better between them from that point forward. Bob says it's more complicated than that, and to illustrate he takes the guy out to a bridge and brings along a feather pillow with him. Atop the bridge Bob tore open the pillow and the feathers blew in every direction on the winds that swept the river valley below. Bob pointed out that while he realized ripping the pillow was not the right thing to do, the feathers were still spread out everywhere and were now beyond his ability to get them back.

When we blog, we're ripping open a feather pillow into the Internet.

Just as important, when we discuss things between team mates in the context of the appropriate mailing lists, irc channels, etc. then we give each other the opportunity to respond without pressure and in context. People, being people, respond much better with greater performance with that kind of approach. If your goal is just to piss people off, then don't do such a logic, reasonable thing. If your goal is to see things improved, then discuss it with the people involved first. Then go blog about it and document the warts, but this time with accuracy and all parties aware of what's coming.

Of course, if you get ignored or the responses returned are indicative of being in need of a wake up call (e.g. there's denial at play) then maybe press the issue by taking it to a wider audience at that point. I've personally called various people to task in the past via my blog, but before doing so I try to ensure that I've first attempted (in some cases for months!) to get the issue dealt with either privately or in the appropriate context. There are times when the unfortunate is necessary.

In KDE, this is very rarely the case.

11 comments:

Einar said...

"Pleasma Netbook Reference"... you know, it sounds like a different kind of product... ;)

Aaron J. Seigo said...

@Einar: bwuahaha.. sorry about that one, my typo (and now fixed). :)

KenP said...

Aaron, the direction KDE SC is taking is great and I, like the loyal KDE-er that I am, will walk along.

However, along the way, KDE SC seems to be going office-unfriendly. By office, I do not imply the wordprocessing, spreadsheeting suite from Microsoft. I mean, in general, there is less effort to make KDE SC fit into a typical work environment.

Like it or not, this means:
1. Improving support for MS Office document formats in KOffice.
2. Getting things like LCS/OCS (office communicator) protocol in Kopete. Pidgin has it via a plugin and works beautifully.
3. KMail and full Exchange integration. This, if accomplished, will be a killer since none of the email clients out there do this very well.

I use KDE 4.4.1 on my primary work laptop (which is where I am typing this) and barring the above integration into a, regretfully, Microsoft dominated environment, it works like a charm. I have managed to convert a handful of my colleagues to Linux+KDE4 as well ;-)

However, when I say barring the above, it implies more than 50% of the day-to-day tasks!

Pascal said...

@KenP: Just because your workplace depends a lot on Microsoft techonologies doesn't mean that KDE is office unfriendly.
You can easily use Open Office in KDE that support many MS office documents well.
I've never heard of LCS/OCS but kopete already supports more than 10 other protocols. If you don't want to change, use the Office communicator web access.
Exchange supports Imap today. Kmail will support exchange from next release or is it the one after?

@aseigo:
The plasma netbook reference platform is a great idea. Especially because when a new SC is released, it's usually quite hard trying it out. And for journalists it's impossible if they can't just download some iso.
Therefore, from a marketing angle, it would make a lot of sense to do the same with Plasma Desktop

Thomas said...

@KenP Thanks for showing where you as an active user of KDE technology see the biggest need :)
I know (as I work on it) that KOffice is getting a lot of improvements in the MSOffice filters, so you should be able to see a significant difference at every release.

Thomas said...

@aseigo

Excellent blog, I love the well reasoned explanation of where 'we' can improve. With actual tips and real-world action points too!
Awesomeness.

KenP said...

@Pascal: I agree with your argument of Openoffice over KOffice for now, even though it points to missing features in the latter. Anyway, since KOffice is improving fast, one can expect better MS office integration soon.
As for LCS/OCS, there is a sipe plugin for pidgin, which could possibly be used for Kopete as well. But I am not an active developer anymore so cannot comment.
If Kmail can, eventually, do Exchange that would be super :)

KenP said...

@Thomas: The need is to get KDE/Qt equivalents on parity with existing apps (which happen to be mostly GTK+ ones.) By parity I mean not technically but only at home and play but also at work!

At home, for instance, my family has no issues with any KDE app at all. Its at work that I wish more KDE apps could be used.

Another big advantage of using native apps, obviously, is the memory saving which, more often that not, is critical.

Enderandrew said...

@aseigo As for chasing tail-lights, I think it needs to be a judgment call as to whether or not the feature you're chasing is worth pursuing. With the iPad, you have a situation where existing Linux technologies can shine right away. You've demonstrated with the Plasma Netbook activity how quickly someone can create a whole new shell and interface for a specific device/form-factor. The versatility of Plama comes to the forefront.

Linux as an OS also scales extremely well. Even with the iPad, you see a pronounced difference from the iPod/iPhone/iPad OS and its Mac OS cousin. One is feature rich and powerful. The other doesn't share much in the way of functionality.

Because Linux is so modular and scalable, you can get a more more feature-rich experience, even on weaker hardware, and customize exactly what you want running.

I don't see this as a needless distraction of chasing tail-lights. Rather I see tablets and other form factors as a great opportunity for Linux and FOSS to shine.

Enderandrew said...

@KenP - I believe that it is the OpenChange project that is driving most of the integration of FOSS mail clients and Exchange servers. Most of the work seems to be with Evolution at the moment, but they're developing a library that other mail clients can use. Kmail will be able to take advantage of it.

I agree that if KDE is to make inroads in a work/business/enterprise environment, it needs to be able to work with existing enterprise technologies such as Exhcange and MS Office documents.

I've never been a big KOffice user, but I've never got the impression it is aimed at being a direct replacement for MS Office. It seems to carve a different niche.

That being said, you can use OpenOffice alongside other KDE programs just fine.

Rahul Siddharthan said...

The tablet that gets me excited is not the iPad but Notion Ink's Adam, which is supposed to be out this summer. If it lives up to its specs and is priced reasonably (similar to the iPad or a bit more) I'm a customer. It is expected to run Android and Ubuntu. It seems the sort of platform worth targeting proactively.

About multitasking, I believe the reason the iPhone and iPad don't support it is it slows down these small devices: people don't like lock-ups, even if only for a few seconds, plus the primary purpose of a phone is to take and receive calls, and that function should not be interrupted. My Nokia E63 multitasks. It also hangs quite often (as in, I need to hard-reboot it) when I have too many applications open and I get an incoming call. Linux systems are not hang-proof either. And even when my Kubuntu laptop isn't hanging, the nice desktop effects slow to a crawl if I have a couple of CPU-intensive applications running. I think it is not that the iPhone OS is incapable of multitasking -- it is just that Jobs traded off that capability for smoothness and responsiveness.