Innovation in Increments

I have the good fortune of working in a Research & Development group. That means I get to learn about new ideas, experiment with them and apply them appropriately. Unfortunately I can not discuss my current project, other than it involves automating the creation of mobile applications. While I can not say that I am building something that is so deeply innovative that it has no precedence. But then again what most people do not realize that innovation happens mostly in small increments. You take an interesting idea, see if it makes your life easier and better. If not you review your work and options, and you try again. If it works, you get innovation!

So while I can not comment on my own work… ūüôĀ I can point some interesting work happening in the libre software community.

Canonical’s New Take on Scrollbars

Many of today’s computing innovations like tablets deal not with radical new technologies. ¬†But rather making technology more usable for non-developers and non-engineers. ¬†It might not sound like much, but Canonical is working on improving the usability of scrollbars in their Gnome desktop:¬†http://www.markshuttleworth.com/archives/615

Take a look at the video in Mark Shuttleworth’s post. ¬†I definitely think that abstracting the line indicator and the actual control is a great idea. ¬†It also makes it more touch friendly and intuitive.

MeeGo and Qt Lives for KDE and the N900

While not so much an innovation per se, I am happy to hear that the development of Qt and MeeGo will continue. ¬†The KDE crew came out and pointed out that Qt back when KDE started was a great framework and is even better now. ¬†Back when I started using KDE, I was amazed at how well everything integrated together in look and feel terms. ¬†This was all possible with KDE settling on one good UI framework, Qt. ¬†Now that it is more cross-platform and rounded out, it still is a great compelling framework to learn and use. ¬†There are some governance issues that need to get worked out, but it is nothing that won’t be resolved nicely soon. ¬†I indeed intend on learning Qt, as soon as my own schedule clears up.

[Another analysis on the Nokia/Qt/MeeGo/KDE question. ¬†Man isn’t life in the libre software world messy at times.]

As for MeeGo, sounds like Nokia will be supporting the N900 as an official development device for MeeGo. ¬†So maybe Mr. Elop changed direction, but at least there is a way forward for MeeGo handset developers. ¬†Hopefully that’ll mean that we can get started hacking on MeeGo. ¬†And once more devices come out, all developer efforts can get carried over. ¬†Maybe, just maybe we’ll finally have a good libre software platform for new¬†disruptive¬†devices, that won’t be threatened by the domination of one massive vendor. ¬†I’m looking at you Google, Microsoft and Apple.

Task Oriented Architecture

As neotechnophiliac (a.k.a. person crazy enough to run alpha releases of software), I love to experiment with different technology. And these tests are often for the pursuit of pointless knowledge and killing time. Technology and engineering are a lifestyle for me.

Most people don’t see technology that way. Technology comes in two flavours: toys and tools. Developing a tool is a challenge of engineering. However users don’t care about tools. (How many people care about carpentry tools?) Users want tasks done. The challenge of usability design is to create task-oriented user interfaces.

Simplicity is important in UIs. The Palm OS (IMHO) designers created one of the best UIs out there. Practically everyone (except Microsoft) in the smartphone, handheld and ultraportable market copied their design. The Zen of Palm, as a primary “pamphlet” for Palm programmers, emphasizes the importance of using a simple UI for getting a particular task done. Compare that with the desktop world, with applications looking like something out of configuration and accessibility hell. The cockpit of a jetliner often looks less daunting than a desktop office suite.

Efficient and reusable workflow helps users greatly getting their work done. A UI that lets you perform a task with 3 interactions works better than one with 5. Burning a CD under Nero, requires you either to click-through 8 screens on a wizard or navigate a massively clustered UI. Under K3B it takes a drap and drop, clicking the “Burn” button, throwing in a CD and you’re done. Neither you have to crawl through a wizard ever time. Nor do you have to deal with a clustered, non-trivial UI.

Remarkably, the most usable UI I’ve worked with, originated in the software libre world. Thats because the end-users of the programs, built those programs. Also open source, allows people to “fork” software. Forking let you take a software libre application that doesn’t meet your requirements, and built something that does from the same code base. In such an environment, software components such as UIs evolve much faster than in the proprietary world.

With my own life, I prefer using open source applications because they give me more freedom, and hence work better for me. Its amazing how much simpler, streamlined and usable most free software is. And it only gets better. I like my KDE 3 applications, but the KDE 4 applications once stablized will work even better for me. Thats because usability designers such as Celeste Lyn Paul work with the KDE developers on making better task-oriented UIs. A big thank you to all the KDE 4 developers, designers and contributers.