User interfaces (UI) developed with Ruby for digital appliances
User interfaces (UI) developed with Ruby for digital appliances
[Click to enlarge image]

Toshiba Corp. exhibited a GUI (Graphical User Interface) developed with a program language "Ruby" for digital appliances. It is operated by a reference set "CRS2," which is equipped with a microprocessor "Cell." The semiconductor division of Toshiba aims to diffuse Cells for the use of digital appliances.

"Since we use a high-speed microprocessor like a Cell for an embedded device, we would like to make it fun to develop softwares by using a computer language with a high development efficiency like Ruby," Toshiba's employee said. "That's why we adopted Ruby as a programming language."

Also, Yukihiro Matsumoto, the developer of Ruby, visited the site.

In Toshiba's booth, Linux (Fedora 7) was run on the CRS2, and a GUI similar to "XMB," Sony's GUI for digital appliances, was demonstrated. Several GUI application softwares were developed for looking and listening contents through a network by DLNA (Digital Living Network Alliance), watching terrestrial digital broadcasting and playing music.

Some application softwares, such as an electronic program guide, were not developed this time. But Toshiba plans to develop the GUI as a platform for digital appliances "OCMP (Open Connected Media Platform)" and to urge consumer-electronics makers to adopt it.

About 80 % of the source codes of the above-mentioned GUI application softwares were written in Ruby. "Cairo" is used as a graphics drawing library, and "DirectFB," which is often used in embedded Linux, is adopted for picture drawing. Cairo was originally developed for X-Window but was made compatible with picture drawing of DirectFB.

"Ruby will maximize Cell's capability."

In general, applications programed by Ruby are slower in operation than those written in, for example, C language because Ruby is a script language, which works with an interpreter. This time, because the Cell, a high-speed microprocessor for digital appliances, can be operated in several gigahertz, the GUI was running speedily enough in the demonstration.

  • Click Here to watch the movie of the GUI developed by Ruby for home electric appliances (about 3MB)
  • "It may be difficult to operate those GUI applications developed by Ruby with enough speed on a microprocessor of several hundred megahertz, which is often used in digital appliances of the day," Toshiba's employee said.

    Valued for its high productivity, Ruby is now widely used in the field of Web systems. However, it is not widespread in the field of embedded softwares such as digital appliances. Even if embedded software engineers wish to adopt Ruby to enhance productivity, they have second thought because it will increase the required memory size and the cost of the microprocessor.

    Cell-mounted digital appliances might change these circumstances. If Cells are adopted, because of their tremendous computational capacity, for user interfaces with moving image recognition system or for transcoding videos, "consequently, Ruby may become more likely to be adopted as a development language, " Toshiba's employee said.

    The speed of the Cell is a high for a CPU for embedded devices, but its real advantage is several signal processors called "SPE." Therefore, as far as the power-type CPU core "PPE," which deals with general processes like those of an OS, is concerned, its processing power is said to be outshone by the latest ×86 microprocessor of Intel Corp.

    In the demonstration, Toshiba ran the applications developed by Ruby on the PPE of the Cell, but the company does not run them in parallel on SPEs. The Cell is more powerful than the microprocessors of general digital appliances, but the operations of the GUI applications are slower than those run on PCs, the company said.

    A demonstration of the GUI (left) and a reference set "CRS2" (right)
    A demonstration of the GUI (left) and a reference set "CRS2" (right)
    [Click to enlarge image]