From web-applications to Mobile Widgets

Almost one year ago Dirk and I have released the first version of team.sPod. team.sPod is a prototype of a mobile web-based information sharing platform. The first version allowed us to develop a better understanding about translating personalisation and contextualisation of information management to the interfaces of mobile handheld devices. This has lead to a complete re-conceptualised and redesigned of the prototype. The process reflected also the recent developments in the field of web-technologies of the W3C. Consequently, the new version of team.sPod is entirely based on widgets.

If this sounds like extremely geeky and technology centered stuff to you, you don't need to worry, because it really is. Nevertheless, these developments are relevant for the next generation of mobile learning solutions. Over the past year we identified three key requirements for future work.

  1. Platform independence
  2. Extensibility and flexibility
  3. Context awareness and context responsiveness

Although these requirements sound pretty straight forward, meeting all three requirements is quite a challenge for rich and interactive solutions for mobile devices.

Platform independence

All work related to team.sPod was centred around the first requirements from the very beginning. The developments in the context of the Web2.0 including the latest major revision of the HTML standard are usually considered as the key to platform independence. Theoretically this means that any mobile web-application can be used on all mobile devices that come with a web-browser. This would allow the development of mobile learning solutions without restricting learners to a specific device vendor or one platform. Consequently, team.sPod was always planned as a web-application with optimisations for mobile usage. These optimisations should hide the web-based nature of the application from the user, so team.sPod should not feel too different to vendor specific applications. So far we managed to get both versions of team.sPod to run on iPhone OS and Android powered devices - without changing the underlying code.

Extensibility and Flexibility

The second requirement has been also considered very early in the process of developing team.sPod. From a technical point of view, extensibility and flexibility are connected to modular system architectures. With the first version of team.sPod we tried to link the modular approach with a coherent user experience of a mobile interface. The design was guided by the general idea of web-applications for information streams. With the new widget-based solution the paradigm has changed towards a more educational perspective. The interface now represents a working/learning environment in which the different aspects of the environments are represented in a tiny widget application. Learners and instructors can arrange the most suitable environment by choosing the appropriate widgets. If something is missing, people with decent experience in web-development with Javascript can easily program a new widget that extends the environments with additional functions.

The metaphor of arranging widgets to a learning environment implies that the different parts of the environment are not completely independent. This means that all widgets can communicate among each other. This allows one widget to inform related widgets about its state or important updates. This is achieved by providing an event interface. This interface allows to implement widgets independently from each other. This approach is similar to sending messages in bottles, the sender is not sure who will receive the message. team.sPod only assures that all widgets that are interested in a message will also receive it.

Another aspect related to flexibility is that mobile learning solutions are cachable for offline usage. At first sight, this seems not so important anymore with widespread wireless connectivity, but it turned out that the "always online" metaphor only holds for mobile phones within the boundaries of the transmission towers of mobile telecommunication providers. Mobile media players such as the iPod Touch or on field trips abroad continuous online connectivity is usually not possible - or not economically affordable for learners. Therefore, we decided that the new mobile widgets have to handle the online status of the device transparently for the learners, so they can use their widgets without bothering about the network connectivity.

Making a web-application working offline has the side effect that the web-application has to be cachable. Basically this means that the learners "install" the widgets on their mobile device as an effect the new mobile widget design of team.sPod loads much faster than the previous prototype.

Context Awareness and Context Responsiveness

Context plays an important role for learning. The learning environment metaphor of the new widget implementation of team.sPod includes features for making widgets aware of the context and allows also to respond to contextual changes.

In the previous section the event interface for anonymous intra-widget communication was mentioned. Although this feature does not sound too stunning it is the key for implementing mobile learning and contextualisation. In a simple application case a tag-cloud widget shows a list of keywords that are related to the content that is provided by other widgets. If a learner selects a tag, the widget informs all related widgets that the tag has been selected. Now all widgets that handle tagged content can apply a tag filter for the selected tag. In a more complex scenario a widget can inform that a learner is now at home and the learning environment adapts all widgets for self-studying and/or homework. When the learner returns to school the widget detects this change and informs the interface to adapt to the current lesson plan and hide non-related widgets for the time being.

As the last scenario outlined, location is an important dimension for contextualisation. Therefore, location awareness has been included to the new framework when the device supports it. This location awareness can trigger learning activities that are anchored to a specific location, redefine the learning environment, or set contextual filters for selected widgets.


At the very moment these features are not very visible in the front-end of team.sPod. In future postings we will discuss the architecture, specific use-cases and application scenarios, and introduce new widgets as the system matures.