SCYP Blog

Friday, March 28, 2008

A Dino-Zaurus in SCYP

The Sharp Zaurus SL-5500Last night I was able to get my hands on a great piece of hardware and a first in mobile device history. The Sharp Zaurus SL-5500 (Collie), was the first of the Linux-based Zaurus series to be sold outside Japan, where it was the most popular PDA of the 1990s. This gadget is based on the Intel SA-1110 StrongARM processor running at 206 MHz, has 64 MB of RAM and 16MB Flash, a built-in keyboard, CompactFlash (CF) slot, Secure Digital (SD) slot, and Infrared port.

Besides the fact that the SL-5500 is officially by now a pre-historic device in the IT industry, it is still quite an amazing feat of engineering, and it will definitely be very useful to SCYP.

I have managed to wipe out the original Sharp ROM, and flash the alternative OpenZaurus OS, a Debian-based embedded Linux distribution running OPIE as the GUI. OPIE is actually based on Qt, a mobile software development suite that is getting pretty popular these days, specially since the new version, Qt4, will be compatible with Windows, Windows Mobile and MacOS X. This means we can use the Sharp Zaurus SL-5500 to develop applications that may be easily portable to non-Linux systems (that's a lot of them!). So if any UofT student out there is interested, the PDA is right here in my desk at the ATRC waiting for an eager hacker!

Friday, March 14, 2008

An interface that really gets you...

This past Tuesday David and I attended a seminar entitled "Automatically generating personalized adaptive user interfaces", where Krzysztof Z. Gajos talked about his doctoral research where he focused on creating a tool that changes the properties of graphical user interfaces GUI to adapt them to each user's needs and preferences. But "how does he know what my GUI needs and preferences are?" you may ask... well, in fact, he doesn't know, but he doesn't really have to! It turns out Krzysztof also developed a simple automated computer-based test that learns those needs and preferences in a few minutes as it interacts with you.

One of the slides that made me understand the relevance of Krzysztof's work to SCYP, is one where he showed the way his algorithm is able to re-design and re-organize the widgets in a visual environment as the size of this environment is changed, all in real time! In fact, he even showed how complex desktop-based dialog boxes can be automatically transfered to mobile devices just by updating a set of constraints.

Krzysztof's work actually leads to at least two clear SCYP project ideas:

  1. If a guideline like the ISO-24751 standard (which defines a framework for the definition of needs and preferences) could be integrated with Krzysztof work, the process of automatically adapting GUIs would be significantly simplified. Mobile application developers would then have access to a common framework that not only helps them know what their user's needs and preferences are (at run-time) but actually enables them to do something about it. This would of course take someone with an interest in Artificial Intelligence (AI) and brave enough to attempt defining Krzysztof's algorithm in terms of the ISO-24751
  2. Alternatively, for those of you who can't wait to start coding, we could set you up in the mobile development platform of your choice so you can try implementing Krzysztof's work in say, your own cellphone, and see whether you like it or not.

Other interesting questions are:

  1. Say the GUI of a program I am running is adapted to my needs and preferences, but there is this one feature I need someone else to help me with. How do I make sure the person helping me doesn't have to re-learn my GUI?
  2. Are there any contexts in which GUI personalization would actually make things worst?
What do you think?