Jump to Navigation

Media Services in MeeGo: charting the wild dragons' land

Session Summary: 
Enjoying pictures, music, and videos created by others and creating personal media content have become popular activities to many users. However, to developers constraints imposed by mobile devices and inconsistency in application programming interfaces create major challenges to deliver attractive user experience and efficient applications. Based on past Maemo devices and our ongoing work to build next generation development environment, this session will attempt to map out media services architecture for MeeGo in which hardware and software platforms are integrated to allow better alignment with application-specific needs and more efficient use of system resources. Join this session to learn what is available today and what needs to be enhanced in MeeGo to cover full specter of media-related activities by creating, visualizing, discovering and sharing images, videos, and music, and collaborating between all applications to contribute to rich media experience.
Session Abstract: 

There are multiple tools available on GNU/Linux to allow creation and processing of visual and audio content. In specialized GNU/Linux distributions, however, choices are often limited to few in order to maintain high efficiency of integration between hardware and software. A good amount of work is dedicated to tuning of performance and power consumption of ready-made libraries and frameworks.

There are also new challenges specific to constraint resources environments. While memory and processor speed are becoming increasingly available on mobile devices, there are still limitations in simultaneous access to specialized devices like camera components and hardware acceleration units. In addition, prolonged use of sensing equipment causes battery to drain. But probably most important challenges are created by media content itself.

Resolution of photos taken with camera devices has increased dramatically. It is already bigger not only than the screen of the mobile device but a typical desktop monitor as well. Nokia N900 camera has 5MPix resolution which is 2.4 times more than FullHD pixel-wise. It is 13 times more pixels than the screen of Nokia N900 itself. Scaling image down in order to show it on the screen is required and it is tip of an iceberg.

Optimizing for common tasks is needed. Sadly, common tasks in cooperative constraint resources environments are not really taken into account by widely available libraries. Exposing application's intent of use for the requested media content can help in these optimizations. Knowing that application will never try to modify an image but use it only for visualization purposes, allows to maintain common repository of scaled-down versions. Providing common mechanism for changing image, video, or audio meta information enhances interoperability between applications. Arbitrating access to potentially scarce resource so that applications are not blocking each other gives smoother user experience.

Media content is not only available locally on the device. It is increasingly downloaded from social networks and other sources, shared back to fellow users and its life often spans multiple applications via complex use patterns. Collaborating between applications on media content history gives possibilities for richer user experiences. Common sharing, accounts and single sign-on support would give media flow without disturbance from one application to another to external services.

We create new tools and contributing back enhancements to existing ones. The session is outlining roadmap for changes required and below is incomplete list of projects referenced: