Looking Back at One Year of Tizen

81

The Tizen project is approaching its one-year anniversary, which makes for a good opportunity to look back at how far the project has come. The Linux Foundation announced Tizen in September of 2011 as a combination of Intel’s previous work on MeeGo and the LiMo Foundation’s handset platform. Samsung formally joined the party a bit later, bringing with it code from the company’s Linux-based Bada product line.

James PearceTizen’s goal, like MeeGo’s before it, was clearly defined as producing a baseline Linux distribution suitable for consumer electronics products: from handheld devices like tablets to more embedded-flavored-platforms like smart TV and in-vehicle systems. Samsung and LiMo added a mobile phone handset to the mix.

The first release came in January 2012 and consisted of public Git repositories for the core OS and a “preview” of the SDK. Perhaps most notably, that release was the community’s first look at how Tizen would merge in the Enlightenment Foundation Libraries (EFL) graphical toolkit from LiMo and the project’s HTML 5-based API for application development. At that time, the Tizen Web APIs were still in a relatively early stage of development, with a framework composed of W3C standards, device adaptation APIs from the Web Application Community (WAC), and individual APIs new to Tizen itself.

In May, San Francisco played host to the first annual Tizen Developer Conference — an event that coincided with the debut of “Larkspur”, the 1.0 release of the Tizen platform, and a set of new development tools. In contrast to the preview releases, the conference provided developers with their first opportunity to get hands-on experience with the software and to see it running on hardware devices. The program of the conference was aimed squarely at giving developers an in-depth tour of the Web APIs and development process, including several long, hands-on classrom sessions.

Emergent governance

The conference kicked off with a set of keynote addresses, the first jointly presented by Intel’s Imad Sousou and Samsung’s Jong-Deok Choi. The two are the current co-chairs of Tizen’s technical steering group (TSG) and they provided an overview of the platform, a roadmap for the code through the 2.0 release slated for the end of 2012, and the first detailed examination of the structure of the project. Sousou emphasized that Intel and Samsung were attempting to let the governance of the project (in particular the make up of committees and sub-projects) emerge organically.

To that end, one of the key distinctions was between the TSG (which has decision-making duties for the code base) and the Tizen Association, which is the marketing group interfacing with device-makers, mobile network operators, and other interested consumers. Kiyohito Nagata, senior vice president of Japan’s Docomo, and current chair of the Tizen Association, outlined the association’s work. He started with Docomo’s consumer market research, its wish-list for the Tizen platform, and its experience bringing products and software services to the marketplace.

APIs

For many developers exploring Tizen, the real challenge was to prove to them that the project would deliver the APIs necessary to adapt HTML5 to mobile device form-factors: access to common mobile needs like contacts, calendaring, and mobile data, connections to device hardware like cameras, geolocation, and orientation sensors, and a secure framework for installing, running, and managing applications themselves. At the conference, Sousou and Choi covered the basics, in particular, explaining that the project was committed to working with the World Wide Web Consortium (W3C) on a set of standards for the various classes of API, and with other groups (such as Khronos, maintainers of the WebGL and OpenGL ES specifications).

That should ease the concerns of application developers, because Google’s ChromeOS and Mozilla’s Boot To Gecko are also pursuing HTML5 application APIs, and are working with the same standards bodies. Right now, Tizen offers W3C-based APIs for application installation and packaging (known as the W3C Widget specification), document and multimedia content (including audio, video, canvas, DOM, inline SVG, and Selectors), communication and storage (including Web Sockets, Web Storage, and Web SQL), and support for related standards like CSS3.

There are also W3C APIs for a number of OS integration points, such as geolocation, orientation and acceleration sensors, and vibration hardware, but this is the point at which the standardization work is still in progress. Tizen has a set of original APIs that cover currently unofficial OS features, including low-level technologies like NFC and system time, and common application framework classes like alarms, contacts, filesystem access, and a generalized messaging framework. The keynote speakers indicated that these APIs are intended to be developed in a platform-neutral manner and not remain specific to Tizen, although there is not yet a timetable for submitting them as standards.

Many of the breakout sessions dealt with exploring the new APIs or with HTML5 application development for those more familiar with desktop Linux or with other mobile frameworks. Conversely, there were also sessions concentrating on Tizen components that originated in the Linux desktop world, such as the AT-SPI accessibility framework, BlueZ, and the open build system (OBS).

Developing

The May developer conference concluded with an extended hands-on lab training attendees in how to use the development tools. The conference provided Samsung-manufactured development devices to registered attendees, and the lab speakers walked through using them with the SDK tools to compile real-world applications. The full SDK includes an Eclipse-based IDE, emulator, build targets, and device connection tool.

But the project has also rolled out some lighter-weight development tools to accompany the full SDK: an HTML5 interface designer, and a web-based device simulator build on top of Chromium developer tools. Together they let programmers rapidly construct mock-ups or app shells and debug applications.

In late June, Tizen expanded the application development effort to include a developer hardware device program. The program provided a limited number of Samsung-built devices to applicants who agreed to develop for Tizen and to document their progress in public. The hardware was a 4.5-inch (diagonal) mobile phone with a 720 x 1280 touchscreen, dual camera, WiFi, Bluetooth, GPS, and NFC. Inside is a dual-core Cortex A9 ARM CPU, Mali 400 graphics chip, and 1GB of RAM. Similar devices had been on hand at the Tizen Conference, but the program is designed to expand beyond the attendees, and to provide additional rounds of devices as new lots become available.

Tizen’s community and infrastructure progress has advanced in recent months as well, with the steady addition of new mailing lists for product developers, application authors, and in-vehicle (or IVI) systems. The IVI platform is currently one of the most aggressive, as several major car makers have joined the effort in an attempt to standardize on a common platform for in-dash computers. The project’s bug tracker has also gone public, as have community guidelines for participation. An application development contest sponsored by Intel wrapped up in the first week of August, with results due to be announced shortly.

Looking forward

As the twelve-month mark gets closer, the next big anticipated event will be the release of the 2.0 version of the platform. There is not an expected drop date, but Tizen is on the schedule at several upcoming development conferences this fall (including LinuxCon North America, LinuxCon Europe and the Automotive Linux Summit), so the debut of 2.0 may be timed to reach developers at one of those events.

Any new platform faces the unenviable challenge of expending its limited resources to recruit new developers and contributors — or to look at it another way, it is far easier to retain a developer than to find and train a new one. Tizen is targeting several device categories, but the majority of the emphasis (both at its first developer conference and in the device program) has been on the highly competitive mobile phone space. That probably makes the most sense, since the device lifecycle of a consumer phone is far shorter than that of an automobile or a television set-top box. Tizen phones will hit the stores long before Tizen smart TVs or Tizen IVI dash units, so seeding the developer market with phone hardware is the best way to jumpstart interest among the open source community.

But one of Tizen’s biggest advantages in this space, which has so many entrenched competitors, is that the application framework is not really a new platform at all. HTML5 and related Web APIs exist on other platforms, and the system-level frameworks are kept in line with modern desktop Linux distributions — and that makes for transferable skills, both incoming and outgoing, which in turn makes Tizen a more appealing target if you are a programmer. That distinction is rarely brought up in public analysis of Tizen (which more often than not focuses on corporate-level involvement), but the developer crowd seems to understand it.