Thursday, December 14, 2006

Desktop on KDE - confusing metaphors

Desktop on KDE is a really confusing metaphor. It can mean a folder for personal files (~/Desktop), a program menu (launcher icons), a notification panel (to indicate removable media), a viewport for a group of window panels ("switch desktop") and so on.

Some of these roles are historical and anachronistic, as in using it as a folder for personal files and folders. This worked fine when disks were small and personal files were few. Today, the number of files have far exceeded the capacity of screen area to display them. Nested folders become tedious to use after about two levels. Bookmarks and Links do help but they are a 'dumb' feature and put the burden of keeping them current on the user. Konqueror is a much better visualizer for personal files, if only its start up time can be kept below two seconds. On my desktop, "Desktop Access" button throws up the Desktop folder in less than a second, while clicking "Home" button takes more than four seconds. With preloading turned on, it drops to about two seconds.

The same issue also dogs Desktop as a program menu. The number of programs available to a user have far exceeded the capacity of even the 'noodle menus' let alone a plain folder. Kmenu does a much better job in lauching programs, so Desktop as a launcher doesnt contribute anything significant.

Kicker already has System Tray and Storage Media (aka media applet) applets for notifications. When a new media is inserted, the device icon placed on the desktop is likely to be obscured by open windows. Also, not all notifications make it to the Desktop, so we still need the System Tray. Desktop, as a notifier, doesnt really make the cut.

The best role for Desktop is as a viewport for window panels. This is also consistent with other appliances with a large display panel like televisions, game consoles etc. Mac OS X, as usual, took the lead with its liquid windows, alpha transparency and Dock. I am really excited about the emerging combination of OpenGL, X and accelerated video. We can finally get smooth, flowing display panels and elements using standard APIs.

So what if we get rid of kdesktop and merge any residual feature into kwin? On my system:

$ awk '/rw-p/ {sum+=$5}END{print sum/(1024*1024)}' /proc/$(pgrep kdesktop)/maps
22.8024
$ awk '/r--p/ {sum+=$5}END{print sum/(1024*1024)}' /proc/$(pgrep kdesktop)/maps
5.47393


That's about 23MB of writable RAM and 5.5MB of text area or about 10% of my total RAM. Quite a windfall in startup footprint!

Tuesday, December 12, 2006

Notebook computing and village public schools

What if rural primary school teachers are given computers for teaching their students? Will the computers just become another "status" toy to be used as passive multimedia players playing canned content? Will the schools become just another video game arcade? Will it truly empower them to create or adapt content to their local needs?

Last year, I was involved in an experiment to equip public school teachers with FOSS tools so that they could produce their own quaterly assessment papers for primary grades one through seven. This year, the experiment was expanded to include four more teachers from village public schools in Kanakapura. The experiment was a huge success and triggered a flood of requests from remote village public schools for inclusion in the program. Taking the early momemtum into rural environment posed a big challenge. The schools were located in remote regions that took hours of driving over rough roads. During school hours, the teachers would be engaged full time with students leaving very little time to work on computers. After many field visits, debates and discussions, we designed a system around notebook computers and FOSS (free and open source software). Each notebook computer consumed less than 60W and could operate for more than an hour on battery. They were also small in size and weighed less than 3kgs. The teachers could easily carry their computer home during evenings and weekends to learn and work in their free time. They could also bring the computer to Bangalore for service, support or training. FOSS gave us lot of flexibility in designing desktop sessions around tasks that were important for the teachers.

We were also nervous about the downsides. Notebook computers are delicate machines, not designed to withstand the heat, humidity and dust in villages. Would they survive handling by children? How will the trackpad react to sweaty fingers in hot climate? The display, at 14", was too small to present to the whole class. The teachers had no prior or very little exposure to computers and absolutely no exposure to technical english that passes for "online help". Without IT support and networking, how would they transfer files across notebook computers?

The school teachers understood these risks as they had already used mobile phones. The small size of these computers compared to desktop made it a lot easier to protect them from the elements. The Acer reseller, who gave us an excellent deal on Acer Aspire 3682 notebook model, threw in an optical mouse and a 1GB flash drive, for free. That gave us a fallback for trackpad and data transfer problems. We plan to supplement the notebook computers with one 19" LCD Monitor per school. LCD Monitors are portable and consume very low power. The monitors will be used for demos, lectures and presentations to a large classroom. Lack of prior computing exposure was turned into an advantage. We created logins around specific tasks and subjects. When the teachers logs into a specific task/subject, only the programs relevant to the task would appear on the menu (thanks to KDE's profile facility).

Last week, we delivered the first batch of five notebook computers to the teachers. For the village schools, this was a defining moment. Long used to receiving out-dated hand-outs, they were now leading the technology edge. Men, women, youth and children from the whole village turned out in large numbers to celebrate it like a festival!

While returning from Kanakapura, it struck me how truly global we have become. Here is a Indian village using a computer manufactured in Taiwan just a month ago, using an OS started by a Finn, using desktop software originated by Germans and a typesetting software designed by a teacher (of Dutch origin) augmented with Kannada types authored by a math professor in Mysore! This message has registered deeply in children's mind. Every child in the village wants to become a "graduate" now.

The teachers were very excited with their first truly "personal computer". After using it for a few minutes came the famous first question: "How do I shut this computer down?"