Sunday, April 27, 2008

More on Interface Design

I don't think it's entirely coincidental that the iPod sports a Sugar-like interface, in the sense of putting a circle front and center. Thumbs are good at turning a wheel, plus ever since the mouse wheel, our GUI has gained that tactile wheel-sense. This adds a welcome dimension to our gizmos, makes them more like old televisions, whereon the channel selector was always a dial, same on radio (AM and FM).

Sugar, for those who don't know, is another example of Python working as a glue language with some visualization library. Python has no "native look" in the sense of having one set of bundled widgets that defines the Python experience. Programmers have their choice of APIs, to such toolkits as Tk, GTk (Gimp ToolKit), Java's Swing (via Jython), many others, some yet to be developed.

From my angle, having a generation hammer on Python under the banner of OLPC has been a positive development, as languages become more robust and agile as a result of such field use. I'm also pleased about Pippy, which is giving a lot of kids a first look at Python source code, not that different in appearance from Perl, C++, Java, C# or whatever (in the C family), but minus so many curly braces (the indentation level works as a scope delimiter i.e. whitespace is significant).

As of this writing, Sugar was starting to float off the XO platform to other platforms, including Ubuntu, with the XO as hardware free to run other desktops. Developers had long been using XO emulators to start with, so making Sugar another Debian-like package, complete with GPL protection, was in no way a surprising development, given the habits of geekdom.