Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by...

31
Mark Skarpness Mark Skarpness Mark Skarpness Mark Skarpness Director, Director, Director, Director, MeeGo MeeGo MeeGo MeeGo Systems Engineering Systems Engineering Systems Engineering Systems Engineering Intel Corporation Intel Corporation Intel Corporation Intel Corporation [email protected] [email protected] [email protected] [email protected] Building MeeGo: Where are We and What's Next? MeeGo Seminar Summer 2010 – 1 [email protected] [email protected] [email protected] [email protected]

Transcript of Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by...

Page 1: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Mark SkarpnessMark SkarpnessMark SkarpnessMark SkarpnessDirector,Director,Director,Director, MeeGoMeeGoMeeGoMeeGo Systems EngineeringSystems EngineeringSystems EngineeringSystems Engineering

Intel CorporationIntel CorporationIntel CorporationIntel [email protected]@[email protected]@intel.com

Building MeeGo: Where are We and

What's Next?

MeeGo Seminar Summer 2010 – 1

[email protected]@[email protected]@intel.com

Page 2: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Agenda

MeeGoMeeGoMeeGoMeeGo OverviewOverviewOverviewOverviewMeeGoMeeGoMeeGoMeeGo ArchitectureArchitectureArchitectureArchitectureMeeGoMeeGoMeeGoMeeGo for Developersfor Developersfor Developersfor DevelopersRoadmap and EcosystemRoadmap and EcosystemRoadmap and EcosystemRoadmap and EcosystemBenefits of Benefits of Benefits of Benefits of MeeGoMeeGoMeeGoMeeGo

MeeGo Seminar Summer 2010 – 2

Page 3: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

What is MeeGo?

• MeeGoMeeGoMeeGoMeeGo unifies unifies unifies unifies MoblinMoblinMoblinMoblin and and and and MaemoMaemoMaemoMaemo and supports a range and supports a range and supports a range and supports a range of target platforms, including:of target platforms, including:of target platforms, including:of target platforms, including:−Netbooks−Handsets−Tablets −Media Phones, Connected TVs, and In-Vehicle

Infotainment devices

MeeGo Seminar Summer 2010 – 3

Infotainment devices• Offers Offers Offers Offers a full client Linux OSS a full client Linux OSS a full client Linux OSS a full client Linux OSS stack, including:stack, including:stack, including:stack, including:−The core OS up to UI libraries and tools−Standard set of APIs across client devices−Flexibility to support proprietary add-ons−Reference user experience and applications (for select

target platforms)

Page 4: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Governance

• Independent projectIndependent projectIndependent projectIndependent project−Under the auspices of the Linux Foundation−Governed by a Technical Steering Group−Working groups for each mobile usage model

• Fundamentally an open source projectFundamentally an open source projectFundamentally an open source projectFundamentally an open source project−Maintainers

MeeGo Seminar Summer 2010 – 4

−Maintainers−Source repository−Meritocracy

Page 5: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

• Focus of Focus of Focus of Focus of MeeGoMeeGoMeeGoMeeGo Compliance is Application Compatibility Compliance is Application Compatibility Compliance is Application Compatibility Compliance is Application Compatibility between between between between MeeGoMeeGoMeeGoMeeGo devicesdevicesdevicesdevices− All MeeGo devices use the same core software stack− Device category profiles describe any category-specific software

and hardware requirements− Use of reference UX not required for compliance

• MeeGoMeeGoMeeGoMeeGo compliance program and test suites to verify compliance program and test suites to verify compliance program and test suites to verify compliance program and test suites to verify

MeeGo Compliance Overview

MeeGo Seminar Summer 2010 – 5

• MeeGoMeeGoMeeGoMeeGo compliance program and test suites to verify compliance program and test suites to verify compliance program and test suites to verify compliance program and test suites to verify compliancecompliancecompliancecompliance− Covers both Applications and Devices / Distributions− Use of MeeGo brand granted based on compliance test results− Compliance overseen by the MeeGo Technical Steering Group

• Additional details will be provided ahead of the 1.1 releaseAdditional details will be provided ahead of the 1.1 releaseAdditional details will be provided ahead of the 1.1 releaseAdditional details will be provided ahead of the 1.1 release

Page 6: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Key Elements

• Full open source software stackFull open source software stackFull open source software stackFull open source software stack−From core OS up to UI libraries and tools−Reference user experience and applications provided−Proprietary add-ons can be provided by vendors

support hardware, services, or customized user experiences• One set of APIs across client devices with one One set of APIs across client devices with one One set of APIs across client devices with one One set of APIs across client devices with one

MeeGo Seminar Summer 2010 – 6

• One set of APIs across client devices with one One set of APIs across client devices with one One set of APIs across client devices with one One set of APIs across client devices with one unified voice to developersunified voice to developersunified voice to developersunified voice to developers

• 6 month release cadence6 month release cadence6 month release cadence6 month release cadence−Major releases targeted for spring and fall

Page 7: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo - Progress So Far

Feb 15,2010

Project launched

May 26, 2010

MeeGo 1.0 for Netbooks

July 7, 2010

MeeGo 1.0 Update 1 for Netbooks

MeeGo Seminar Summer 2010 – 7

June 30, 2010

Handset Day 1

Great Progress - and We're Just Getting Started!

Page 8: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeG

o C

ore

OS

Mid

dle

ware

MeeGo Architecture

CommsServicesCommsServices

Connection Mgmt

ConnManConnection Mgmt

ConnMan

Media Services

Media Services

Media Framework

GStreamerMedia Framework

GStreamer

Data MgmtData Mgmt

Content Framework

TrackerContent Framework

Tracker

Personal ServicesPersonal Services

PIM Storage

Tracker / QSparQLPIM Storage

Tracker / QSparQL

Device ServicesDevice

Services

Device Health

DSMEDevice Health

DSME

Internet ServicesInternet Services

Layout Engine

WebKitLayout Engine

WebKit

Visual Services

Visual Services

3D Graphics

OpenGL / GL ES3D Graphics

OpenGL / GL ES

MeeGo APIsMeeGo APIsMeeGo WebRunTimeMeeGo WebRunTimeQt ToolkitQt Toolkit

UX

Netbook UXNetbook UXNetbook UI + AppsNetbook UI + Apps

Netbook UI FrameworkNetbook UI Framework

Other UX’sOther UX’sOther UI + AppsOther UI + Apps

Other UI FrameworkOther UI Framework

SE

CU

RIT

Y

Handset UXHandset UXHandset UI + AppsHandset UI + Apps

MeeGo Touch FrameworkMeeGo Touch Framework

...

MeeGo Seminar Summer 2010 – 8

MeeG

o C

ore

OS

Mid

dle

ware

Telephony

oFonoTelephony

oFono

ConnManConnMan

VOIP, IM, Pres.

Telepathy VOIP, IM, Pres.

Telepathy

Bluetooth

BlueZBluetooth

BlueZ

GStreamerGStreamer

UPnP

GUPnPUPnP

GUPnP

Codecs

Gstreamer plug-inCodecs

Gstreamer plug-in

Camera

Gstreamer plug-inCamera

Gstreamer plug-in

Audio

PulseAudioAudio

PulseAudio

Context Framework

ContextKitContext Framework

ContextKit

TrackerTracker

Package Manager

PackageKitPackage Manager

PackageKit

Tracker / QSparQLTracker / QSparQL

Accts & SSO

Accts-ssoAccts & SSO

Accts-sso

Device Sync

ButeoDevice Sync

Buteo

Backup & Restore

DSMEDSME

Resource Mgr

System Policy MgrResource Mgr

System Policy Mgr

Sensor Framework

SensorFWSensor Framework

SensorFW

WebKitWebKit

Web Services

libSocialWebWeb Services

libSocialWeb

Web RunTime

WebKitWeb RunTime

WebKit

Location ServicesLocation Services

OpenGL / GL ESOpenGL / GL ES

2D Graphics

QPainter2D Graphics

QPainter

XX

GTK / ClutterGTK / Clutter

OS

Base

Settings DatabaseGConf

Settings DatabaseGConf

System Librariesglibc, glib, etc

System Librariesglibc, glib, etc

Message BusD-Bus

Message BusD-Bus

HW Adaptation Software

Platform Infolibudev

Platform Infolibudev

Linux KernelLinux Kernel

SE

CU

RIT

Y

Page 9: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Ref. User Experience for Netbook and Handset

• Integrated Integrated Integrated Integrated –––– Personalized Personalized Personalized Personalized Social Networking Services & Social Networking Services & Social Networking Services & Social Networking Services & InfrastructureInfrastructureInfrastructureInfrastructure

UX

Netbook UXNetbook UXNetbook UI + AppsNetbook UI + Apps

Netbook UI FrameworkNetbook UI Framework

Other UX’sOther UX’sOther UI + AppsOther UI + Apps

Other UI FrameworkOther UI Framework

Handset UXHandset UXHandset UI + AppsHandset UI + Apps

MeeGo Touch FrameworkMeeGo Touch Framework

...

MeeGo Seminar Summer 2010 – 9

• Easy to Use and Build Upon Easy to Use and Build Upon Easy to Use and Build Upon Easy to Use and Build Upon ---- Full Full Full Full Internet, Rich Media Consumption, Internet, Rich Media Consumption, Internet, Rich Media Consumption, Internet, Rich Media Consumption, StandardsStandardsStandardsStandards----basedbasedbasedbased

• Customizable Customizable Customizable Customizable –––– Branded Customer Branded Customer Branded Customer Branded Customer Experiences, Flexible Look and Feel, Experiences, Flexible Look and Feel, Experiences, Flexible Look and Feel, Experiences, Flexible Look and Feel, Powerful Tools and AnimationPowerful Tools and AnimationPowerful Tools and AnimationPowerful Tools and Animation

Page 10: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo for Developers - http://meego.com/developers

MeeGo Seminar Summer 2010 – 10

Page 11: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo APIs

• QtQtQtQt− The MeeGo API is based on Qt 4.x. The development libraries (qt-devel) needed are

installed in the MeeGo SDK virtual environment along with Qt Creator• Upcoming APIsUpcoming APIsUpcoming APIsUpcoming APIs

− MeeGo Touch Framework > The MeeGo Touch Framework provides the features needed for developers

creating applications for touch-enabled devices. Features include standardized

window navigation, list and other widget behavior, and common theming for

components.

MeeGo Seminar Summer 2010 – 11

components.

− MeeGo Web Runtime > Web Runtime (WRT) allows web developers to use standard web languages

(HTML, CSS, and JavaScript) to create applications for mobile devices. WRT

exposes the features of the underlying platform so that applications can interact

with device data and combine location-based context with web information.

− Qt Mobility > Qt Mobility extends Qt with libraries providing additional features for applications

targeting mobile platforms. These include the Service Framework and Contact

and Bearer Management APIs.

Page 12: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo SDK – Coming 2010

Develop Debug

Xephyr

DistributePackage

Community

Repositories

Features

• Cross-OS

• Full VM

• Any graphics device

• Device emulation

• Better packaging

support

• manual

• RPM Spec

Creator

• public OBS

• plugin to Qt

MeeGo

Workstation

actual device

Linux

Workstation

MeeGo chroot

MeeGo Seminar Summer 2010 – 12

Linux

Workstation

MeeGo

toolchain

Repositoriessupport

• Integration with Qt

Creator

• plugin to Qt

Creator

Windows

Workstation

QEMU

QEMU

Virtual Machine (GL

accelerated)

Virtual Machine (GL

accelerated)

MeeGo

toolchain

• plugin to Qt

Creator

Page 13: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Overall MeeGo Platform Ecosystem

3333rdrdrdrdParty Party Party Party AppsAppsAppsApps CodecsCodecsCodecsCodecsDevice Device Device Device

VendorsVendorsVendorsVendors

Upstream Open Source Component

Projects Netbook Netbook Netbook Netbook ReferenceReferenceReferenceReference

ApplicationApplicationApplicationApplicationVendorsVendorsVendorsVendors

MeeGo.comMeeGo.comMeeGo.comMeeGo.com

TechnologyTechnologyTechnologyTechnologyVendorsVendorsVendorsVendors

Operating System Vendors

MeeGo Seminar Summer 2010 – 13

MeeGo Component

ProjectsBuild EnvironmentBuild EnvironmentBuild EnvironmentBuild Environment

MeeGo MeeGo MeeGo MeeGo CoreCoreCoreCore HandsetHandsetHandsetHandsetReferenceReferenceReferenceReferenceConnected TVConnected TVConnected TVConnected TVReferenceReferenceReferenceReference

13

Chipset Chipset Chipset Chipset VendorsVendorsVendorsVendors

MeeGo on MeeGo on MeeGo on MeeGo on Chipset XChipset XChipset XChipset X

Page 14: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Roadmap

MeeGo v1.0Netbooks, IVI

MeeGo v1.1- adds Handset,

Tablet, and

Media Phone

MeeGo v1.2-adds TV

MeeGo Seminar Summer 2010 – 14

MeeGo Public Community Releases

MeeGo Development

4Q’09 1Q’10 2Q’10 3Q’10 4Q’10 1Q’11

OCT DECNOV JAN MARFEB APR JUNMAY JUL SEPAUG OCT DECNOV APRJAN MARFEB

MeeGo Project Release Cadence: Every 6mo.

Page 15: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Intel® AtomIntel® Atom™™ Processor RoadmapProcessor RoadmapGG

Generation 1Generation 1 Generation 2Generation 2 Generation 3Generation 3

NETBOOKS

N SeriesN Series N SeriesN Series

LO

WE

R P

OW

ER

PO

RTA

BL

EP

OR

TA

BL

E

Z5XX SeriesZ5XX Series

Sponsors of Tomorrow.™

7/29/2010

TABLETS

SMARTPHONES/HANDHELDS

* Compared to previous generation

10X10XCPU Thermal CPU Thermal

PowerPowerReductions*Reductions*

Z6xx Series

LO

WE

R P

OW

ER

50X50XPlatform Platform

Idle PowerIdle PowerReductions*Reductions*P

OC

KE

TA

BL

EP

OC

KE

TA

BL

E

Page 16: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Intel® AtomIntel® Atom™™ Processor RoadmapProcessor Roadmap

Now 2011+

Future IA SoCsContinued Optimization for

Segments and Ongoing Performance and Integration

Improvements

Intel® Media Processor CE3100

Connected AV, Cable with Full Intel x86 Architecture

2H’2010

Second Atom SoCFirst Segment Optimized CE SoC

Based on 45nm & Atom™ Core

Intel® MediaProcessor CE4100First 45nm/Atom SoC Optimized for Connected AV, IPTV, Modular DTV

Segments

“Groveland”Second 45nm SoC

Details TBA

Sponsors of Tomorrow.™

7/29/2010

All products, computer systems, dates and figures specified are preliminary based on

current expectations, and are subject to change without notice.

Next Generation CE SoCs

Full Intel x86 Architecture

Intel® Media Processor CE2110

Cost Effective Integration for IPTV and Connected AV

Page 17: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

•MeeGo = a true open source project•Hosted by the Linux Foundation•Governed by best practices of open source development•Developers have access to tools, mailing lists, discussion forums•Full access to technical meetings•MeeGo source code contributions are driven to upstream projects

•Accelerated time to market

Open Source Developers

Application Developers

Device Manufacturers

•A single set of APIs across client devices•Support for app deployment across multiple device types•Availability of a complete set of development tools•Ability to easily and rapidly create and deploy apps•Possibility to host apps in different app stores

Benefits of MeeGo - Everyone is a winner!

MeeGo Seminar Summer 2010 – 17

•Accelerated time to market•Optimized software stack•Support for multiple architectures•Lowered complexities to target multiple device types•Ability to participate in the evolution of the software platform

Device Manufacturers

Operators

Linux Platform

•Differentiation through user interface customization•A single platform for multitude of devices•Familiar experience for subscribers using different device types

•All contributions and technical work is driven to upstream projects•Combines mobile development resources towards a unified platform•Cross-platform, cross-device and cross-architecture development•Other Linux mobile & desktop efforts will benefit from MeeGo’s work

Page 18: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

References

• Architecture: Architecture: Architecture: Architecture: http://meego.com/developers/meegohttp://meego.com/developers/meegohttp://meego.com/developers/meegohttp://meego.com/developers/meego----architecturearchitecturearchitecturearchitecture

• SDK download: SDK download: SDK download: SDK download: http://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linuxhttp://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linuxhttp://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linuxhttp://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linux

• MeeGo API:MeeGo API:MeeGo API:MeeGo API: http://meego.com/developers/meegohttp://meego.com/developers/meegohttp://meego.com/developers/meegohttp://meego.com/developers/meego----apiapiapiapi

MeeGo Seminar Summer 2010 – 18

apiapiapiapi• Developer Guides:Developer Guides:Developer Guides:Developer Guides:

http://wiki.meego.com/Developer_Guidehttp://wiki.meego.com/Developer_Guidehttp://wiki.meego.com/Developer_Guidehttp://wiki.meego.com/Developer_Guide

Page 19: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Mark SkarpnessMark SkarpnessMark SkarpnessMark SkarpnessDirector,Director,Director,Director, MeeGoMeeGoMeeGoMeeGo Systems EngineeringSystems EngineeringSystems EngineeringSystems Engineering

Intel CorporationIntel CorporationIntel CorporationIntel [email protected]@[email protected]@intel.com

Building MeeGo: Where are We and

What's Next?

MeeGo Seminar Summer 2010 – 19

[email protected]@[email protected]@intel.com

Page 20: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Backup Material

MeeGo Seminar Summer 2010 – 20

Backup Material

Page 21: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Comm Services

• The The The The CommsCommsCommsComms Services provides services to manage Services provides services to manage Services provides services to manage Services provides services to manage voice and data connectivity for the platform.voice and data connectivity for the platform.voice and data connectivity for the platform.voice and data connectivity for the platform.− ConnMan provides a modular framework to provide network

connection over WiFi, WiMAX, 3G and via Bluetooth.− oFono provides a flexible, modular and extensible

architecture to support multiple platforms and modems.− Telepathy is a D-Bus based framework that unifies all

supported protocols of real time communication, including,

CommsServicesCommsServices

Connection Mgmt

ConnManConnection Mgmt

ConnMan

MeeGo Seminar Summer 2010 – 21

supported protocols of real time communication, including, but not limited to, instant messaging, IRC, voice and video over IP, and cellular calls

− The Bluetooth subsystem consists of the official Linux Bluetooth stack BlueZ as well as related extensions

Telephony

oFonoTelephony

oFono

VOIP, IM, Pres.

Telepathy VOIP, IM, Pres.

Telepathy

Bluetooth

BlueZBluetooth

BlueZ

Page 22: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Internet Services

• The Internet Services includes services for The Internet Services includes services for The Internet Services includes services for The Internet Services includes services for rendering web content, providing web run rendering web content, providing web run rendering web content, providing web run rendering web content, providing web run time support, exchanging data with web time support, exchanging data with web time support, exchanging data with web time support, exchanging data with web services, and determining location.services, and determining location.services, and determining location.services, and determining location.−MeeGo provides Qt Webkit as the layout engine

for rendering web content (HTML, XML, XHTML,

Internet ServicesInternet Services

Layout Engine

WebKitLayout Engine

WebKit

Web RunTime

WebKitWeb RunTime

WebKit

MeeGo Seminar Summer 2010 – 22

for rendering web content (HTML, XML, XHTML, SVG, CSS, JavaScript, etc.)

−MeeGo will provide Qt WRT as the Web Runtime framework

−MeeGo provides GeoClue for location services from a number of sources like GPS, GSM cell, and wifi network

Web Services

libSocialWebWeb Services

libSocialWeb

Location ServicesLocation Services

Page 23: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Visual Services

• The Visual Services provides the core 2D and The Visual Services provides the core 2D and The Visual Services provides the core 2D and The Visual Services provides the core 2D and 3D graphics capabilities including rendering 3D graphics capabilities including rendering 3D graphics capabilities including rendering 3D graphics capabilities including rendering internationalized text and hardware internationalized text and hardware internationalized text and hardware internationalized text and hardware acceleration for graphicsacceleration for graphicsacceleration for graphicsacceleration for graphics− OpenGL is the environment for developing portable,

interactive 2D and 3D graphics applications− OOOOpenGL ES is cross-platform API for full-function 2D and 3D

Visual Services

Visual Services

3D Graphics

OpenGL / GL ES3D Graphics

OpenGL / GL ES

MeeGo Seminar Summer 2010 – 23

− OOOOpenGL ES is cross-platform API for full-function 2D and 3D graphics on embedded system

− Qpainter provides advanced 2D drawing capabilities with support for hardware acceleration

− GTK / Clutter are provided for animation and for legacy reasons

− X provides the window system with platform specific drivers, patches and configuration as needed

2D Graphics

QPainter2D Graphics

QPainter

XX

GTK / ClutterGTK / Clutter

Page 24: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Media Services

• Media services provide audio/video playback, Media services provide audio/video playback, Media services provide audio/video playback, Media services provide audio/video playback, streaming and imaging functionalitystreaming and imaging functionalitystreaming and imaging functionalitystreaming and imaging functionality− Gstreamer provides cross platform Media framework for

playback, streaming, and imaging− PulseAudio handles audio inputs, post/pre processing, and

outputs in a system− Camera subsystem provides still and video camera

Media Services

Media Services

Media Framework

GStreamerMedia Framework

GStreamer

MeeGo Seminar Summer 2010 – 24

− Camera subsystem provides still and video camera functionality (including, e.g. image post processing and metadata) for applications

− GStreamer-compatible codecs are supported for encoding / decoding of audio and video

− GUPnP is an object-oriented framework for creating UPnP devices and control points, with extension libraries for IGD and A/V specifications

GStreamerGStreamer

UPnP

GUPnPUPnP

GUPnP

Codecs

Gstreamer plug-inCodecs

Gstreamer plug-in

Camera

Gstreamer plug-inCamera

Gstreamer plug-in

Audio

PulseAudioAudio

PulseAudio

Page 25: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Data Management

• The Data Management provides services for The Data Management provides services for The Data Management provides services for The Data Management provides services for extracting and managing file metaextracting and managing file metaextracting and managing file metaextracting and managing file meta----data, data, data, data, retrieving data about the device context, and retrieving data about the device context, and retrieving data about the device context, and retrieving data about the device context, and managing the set of installed packages on the managing the set of installed packages on the managing the set of installed packages on the managing the set of installed packages on the devicedevicedevicedevice− Tracker provides indexing, meta-data extraction, and search

Data MgmtData Mgmt

Content Framework

TrackerContent Framework

Tracker

MeeGo Seminar Summer 2010 – 25

− Tracker provides indexing, meta-data extraction, and search capabilities for a variety of data types, including media files, and documents

− ContextKit provides an access to context properties of the device by collecting all of them behind a common API

− PackageKit uses distribution package management tools to make installing and updating software on devices easier

Context Framework

ContextKitContext Framework

ContextKit

Package Manager

PackageKitPackage Manager

PackageKit

Page 26: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Device Services

• The Device Services contains a set of services for The Device Services contains a set of services for The Device Services contains a set of services for The Device Services contains a set of services for managing device state and exchanging data with the managing device state and exchanging data with the managing device state and exchanging data with the managing device state and exchanging data with the device, including device health, sensor data device, including device health, sensor data device, including device health, sensor data device, including device health, sensor data extraction, overall system policy, and device data extraction, overall system policy, and device data extraction, overall system policy, and device data extraction, overall system policy, and device data backup and restorebackup and restorebackup and restorebackup and restore− DSME provides basic device state machine, HW watchdog

feeding, process watchdogs, thermal management and

Device ServicesDevice

Services

Device Health

DSMEDevice Health

DSME

MeeGo Seminar Summer 2010 – 26

feeding, process watchdogs, thermal management and system heartbeat service

− SensorFW provides an interface to hardware sensor drivers through logical sensors

− System Policy Mgr provides infrastructure to manage the devices and its policies for key applications like media player and telephony application

− Backup & Restore is expected to be provided in future

Backup & Restore

Resource Mgr

System Policy MgrResource Mgr

System Policy Mgr

Sensor Framework

SensorFWSensor Framework

SensorFW

Page 27: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Middleware – Personal Services

• The Personal Services provides services for The Personal Services provides services for The Personal Services provides services for The Personal Services provides services for managing user data on the device, including managing user data on the device, including managing user data on the device, including managing user data on the device, including personal information management (i.e. personal information management (i.e. personal information management (i.e. personal information management (i.e. calendar, contacts, tasks) and managing user calendar, contacts, tasks) and managing user calendar, contacts, tasks) and managing user calendar, contacts, tasks) and managing user accounts to enable singleaccounts to enable singleaccounts to enable singleaccounts to enable single----signsignsignsign----on for web on for web on for web on for web servicesservicesservicesservices

Personal ServicesPersonal Services

PIM Storage

Tracker / QSparQLPIM Storage

Tracker / QSparQL

MeeGo Seminar Summer 2010 – 27

servicesservicesservicesservices−Tracker / QSparQL as the storage for contacts−Buteo provides device synchronization framework

for contacts, calendar, mail and messaging−Accts-SSO provides unified account storage and

single sign on functionality.

Tracker / QSparQLTracker / QSparQL

Accts & SSO

Accts-SSOAccts & SSO

Accts-SSO

Device Sync

ButeoDevice Sync

Buteo

Page 28: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo – OS Base

• MeeGo provides Linux for all OS servicesMeeGo provides Linux for all OS servicesMeeGo provides Linux for all OS servicesMeeGo provides Linux for all OS services− MeeGo uses a Linux kernel from kernel.org− Glibc is C standard library and glib provides cross platform software utility

library− D-Bus is a message bus system, a simple way for applications to talk to one

another− libudev is a simple system service that can enumerate devices, manage

devices and send notifications when hardware is added or removed from the device

MeeGo Seminar Summer 2010 – 28

device− Gconf is a centralized settings store with complex types, defaults, and change

notification• Hardware Adaptation SoftwareHardware Adaptation SoftwareHardware Adaptation SoftwareHardware Adaptation Software

− Inlcudes all the software that is platform specific like drivers, codecs, platform configuration etc

OS

Base

Settings DatabaseGConf

Settings DatabaseGConf

System Librariesglibc, glib, etc

System Librariesglibc, glib, etc

Message BusD-Bus

Message BusD-Bus

HW Adaptation Software

Platform Infolibudev

Platform Infolibudev

Linux KernelLinux Kernel

Page 29: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo Security Architecture

• MeeGo security architecture provides capabilities MeeGo security architecture provides capabilities MeeGo security architecture provides capabilities MeeGo security architecture provides capabilities likelikelikelike−Identification of trusted Software Distribution Source−Hardware Root of Trust for the Device−SHA1 encryption / verifications for all packages on

updates or for execution

SE

CU

RIT

Y

MeeGo Seminar Summer 2010 – 29

updates or for execution−Access control using resource tokens for defining

sandboxing of applications−Secure Storage

SE

CU

RIT

Y

Page 30: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

Qt Creator

• Qt Creator is the Qt Creator is the Qt Creator is the Qt Creator is the integrated development integrated development integrated development integrated development environment (IDE) for environment (IDE) for environment (IDE) for environment (IDE) for creating MeeGo creating MeeGo creating MeeGo creating MeeGo applications. applications. applications. applications. − Project creation is a

snap. − Features such as code-

completion, integrated help, and drag/drop UI

MeeGo Seminar Summer 2010 – 30

completion, integrated help, and drag/drop UI design accelerate application development

Page 31: Building MeeGo: Where are We and What's Next? · •MeeGo = a true open source project •Hosted by the Linux Foundation •Governed by best practices of open source development •Developers

MeeGo and Upstream

MeeGo source code contributions are

directedto upstream projects

MeeGo Seminar Summer 2010 – 31

MeeGo built from upstreamprojects