Apps & Services: Q&A with David Wood, EVP Research, Symbian
by Jose Marinez 
David Wood talks about Ruby 1.9, the GREDIA project and more in this exclusive interview.
A few years ago, I was searching for an alternative to Python on S60 devices. To be more precise, I was looking for a port of Ruby on S60. It didn’t take me long before I found a Google Summer of Code project called “Ruby for Symbian” that was a port of the Ruby 1.85 interpreter for 2nd Edition devices that were available at the time. It was an interesting project, but I knew it wasn’t going to be supported for long.
Shortly after, Symbian - the operating system behind all Nseries devices - released their own Ruby port as a proof of concept. Unlike the SoC port, I felt better having a major mobile company behind it, especially when dealing with the latency and resource requirements for a proper mobile implementation.
A few releases of the Ruby proof of concept were made during the first year after the announcement. Then last year, as Matz - the Ruby creator - was getting ready to release the next version of the language (1.9) for desktops and servers, Symbian announced that it was following right along with its own mobile implementation. This version, unlike the previous PoC, was scheduled to be use in a large EC-funded project called GREDIA.
During this year’s Mobile World Congress I managed to contact Symbian for an update on the project. Here’s a summary of my exchange with Symbian’s EVP of Research David Wood on Ruby and the GREDIA project.
How did Symbian, Pragmaticomm and the GREDIA Project come together in the first place?
Symbian was approached by a number of companies and academic institutes who had the idea of collaborating on an EC-funded research project called “GREDIA”.
What is GREDIA about?
Here’s an extract from the top-level statement of intent for GREDIA:
I. Provide a platform with high-level support for the design, development and operational deployment of secure Grid business applications.
II. Build business applications upon a novel Grid middleware, enabling the access to distributed annotated numerical and multimedia content in a secure way.
III. Define and specify services that will allow mobile devices to participate in the Grid Virtual Organisation in a seamless way.
- Investigate limitations of mobile devices for accessing GRID applications
- Battery, performance, unreliable and intermittent connection, etc.
- Analyse a security framework that will protect data at all levels of the Grid Virtual Organisation
- Evaluate the GREDIA framework in real life application scenarios
(See the Appendix below for some more details.)
Symbian Research saw benefits from participating in this project and decided to take part. Symbian chose to delegate some of the work from this project to Pragmaticomm, since Pragmaticomm has a high level of expertise in Symbian OS, has a high level of expertise in comms and has particular interest in Ruby and VM technologies for mobile devices.
Why is Symbian involved with this kind of academic initiative?
Symbian wishes to stimulate and support Symbian-friendly innovation and research in universities and the research community around the world.
We see the following benefits from university R&D:
- Universities putting more focus and attention on conducting training in Symbian OS
- Contributions to the creation and refinement of first-class tools for Symbian OS
- Porting existing software (initially developed for other operating systems) to run either on Symbian OS or in Symbian OS
- Porting Symbian OS systems onto new hardware setups
- Investigating possible alternative algorithms for performance and efficiency (such as alternative heap allocators, power management systems, etc)
- Carrying out helpful competitive analysis of aspects of different smartphone systems
- Carrying out useful investigations into other questions of technology viability, market chain dynamics, product trends, changing user preferences, programming languages, software methodologies, etc – questions that are of real interest to teams throughout Symbian
- Raising the profile and visibility of Symbian and Symbian OS.
When will the Ruby port be available for download?
A release is scheduled for April 2008.
Why Ruby?
Several of the participants in the GREDIA consortia expressed a desire to use Ruby.
Symbian was and is interested to learn firsthand about some of the issues and opportunities in the development of virtual machines, libraries and environment for a modern dynamic language running on Symbian OS, that can also take advantage of the uniqueness of Symbian OS.
We identified the Ruby language and community as one of the prime candidates for such investigation. We also wanted to investigate how researchers would benefit from developing on Symbian OS using Ruby as opposed to Symbian OS C++.
Pragmaticomm is adding extensions to the VM and Ruby Libraries, but not to the language itself.
What’s the ultimate goal with the port? Is it only for the GREDIA Project or will it be supported by Symbian in the future?
The port will be distributed widely, once it has reached a suitable stage of stability. The goal is to encourage and support contributions from the wider academic and development ecosystem, and thereby to enable developers to program for Symbian OS with Ruby. All Ruby-related work from the project will be contributed back to the Ruby community.
Will the Ruby port include GUI extension libraries for UIQ and S60?
The Symbian Research port won’t include GUI extension libraries. However, we expect that people in the wider community will be interested to take up this challenge.
What are some of the additional extension libraries that Pragmaticomm is working on? Do they give access to “native” mobile capabilities - SMS, Bluetooth, HTTP, calls, camera, etc?
The port includes TCP/IP and filesystem access. We are planning to support phone network information APIs, among other features that are still being planned. As far as HTTP goes, Ruby has its own HTTP stack (written in Ruby) which we will support.
-
Special thanks to David Wood and his Research team at Symbian for making this possible and to John Pagonis (Pragmaticomm), Nana Tsoumaki (Symbian) and Niko Sarris (ATC) for their help and assistance. I wouldn’t have been able to bring this information to you without them.
Appendix: Extract from statement of GREDIA’s research objectives
Research challenge: Mobile Grid Environments
GREDIA Mobile Application Service Research Objectives:
- Mobile Participation: Identify the issues that emerge when people use mobile devices to participate in the grid. These issues include such things as security and authentication of the person and the device and context sensitivity. It may also emerge that this includes subjective issues such as user acceptability of the mobile device interface and the limitations as outlined below.
- Device limitation: Resolve problems due to limited resources and other aspects of a mobile device and its means of connection with the grid. These limitations include such things as access through mobile networks, power, performance and user interface. Most mobile networks do not allow mobile terminated data connections; the grid cannot connect to a mobile device. This one-way connection requires a proxy connection that a mobile device connects to via the grid.
- Mobile Prototyping: Provide the latest implementation of the easy-to-use scripting language, Ruby, on mobile devices. This allows researchers to investigate the suitability of this kind of scripting language for development of sophisticated mobile grid solutions.
GREDIA Mobile Grid Environments
The central aspect of the mobile research objectives is if a mobile device can participate as a first-class citizen in the GREDIA Grid. Mobile devices have obvious limitations and almost any one of these limitations could prevent a mobile device from becoming an acceptable node. For this reason we identified three major research objectives:
- mobile participation: can it be used
- device limitation: why can’t it be used
- mobile prototyping: what can we do to alleviate the problems identified.
Users have to be convinced that a mobile device can operate reliably, securely and efficiently and provide a viable alternative to a laptop or a desktop computer. Users need to learn that they can trust the mobile device to provide the business services they are trying to use. This is particularly important in the banking scenario.
If mobile devices take too long to connect, or to operate, or are unreliable, then users will quickly stop using them.
Employing Ruby as a rapid prototyping language to make incremental changes during the life of the project provides a means to assess the benefits of such a development approach.
We will assess if changes to user interfaces and connection strategies improves usage of the mobile devices or not. For this assessment to work we will need to closely monitor how often and for how long mobile devices are used. These measures will be collected by the GREDIA Grid applications usage logs.
Various basic quantifiable measures, such as battery life, signal strength, etc., can be collected by the mobile device and passed to the proxy node to be saved.
Although user feedback can be collected using an application on the mobile device it is appropriate that questionnaires are employed in the same way as assessments for other aspects of the Grid. Due to the limited screen size, even web-based questionnaires can become tiresome to complete on a mobile device.
Categories:
|