Crossing boundaries Crossing Boundaries 12.08.2008 Eva - - PowerPoint PPT Presentation

crossing boundaries
SMART_READER_LITE
LIVE PREVIEW

Crossing boundaries Crossing Boundaries 12.08.2008 Eva - - PowerPoint PPT Presentation

Crossing boundaries Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 1 Crossing Bounderies Making KDE Technology Available to Embedded Devices Eva Brucherseifer l Just another Platform? basysKom GmbH l Strategies for cross device


slide-1
SLIDE 1

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 1

Crossing boundaries

slide-2
SLIDE 2

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 2

Crossing Bounderies

Making KDE Technology Available to Embedded Devices Eva Brucherseifer basysKom GmbH 12.08.2008 aKademy 2008 l Just another Platform? l Strategies for cross device development l Example: Decibel l Benefit for KDE

slide-3
SLIDE 3

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 3

Embedded Applications

l Consumer Devices

– Phone – Multimedia Devices – Children's PCs – Navigation System – Home Automation – Ticket Vending Machine

l Industry Applications

– Medical Industry: Ultrasonic – Production: Quality Assurance System for

Manufacturing Process

– Measurement: Network Analyser – Logistics: Storage Management – Automotive: Agricultural Tractors

slide-4
SLIDE 4

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 4

Just another platform to compile on?

l Different hardware

– ARM, x86, PowerPC, SH4, Mips – Flash, GPS, Touch, ...

l Different Tools

– Crosscompiler, Remote Debugging, etc – Embedded Linux

l Less Ressources

– little MB

32-64 MB

– little MHz

150-800 MHz

– different capabilites

with/without FPU

– small amount of space

usually flash, 64 MB

– smaller screens

480x240, 800x600

slide-5
SLIDE 5

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 5

Differences Desktop – Embedded Device

l Embedded Devices are specialised to enable single use cases l touch screen & small screen resolution require optimized user interfaces l Embedded devices are built by manufacturers Community devices usually not possible

slide-6
SLIDE 6

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 6

KDE has a lot to offer

l Current Embedded Linux market:

– Qt offers a maintained and supported toolkit, Qt is preferred in industry

l KDE has rich and powerful functionality extending Qt

– with more powerful CPU functionality is becoming an option

l But:

– KDE components mostly unknown – KDE components have too many dependencies, no easy plug & play

l Required: more building blocks l some components are already on use:

– Frameworks: Phonon – Widgets: Webkit

slide-7
SLIDE 7

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 7

Strategies for Cross-Device Development

slide-8
SLIDE 8

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 8

Design Goals for Modular Components

l separate functionality from view l make integration optional l stabilize & test component APIs using unit tests

slide-9
SLIDE 9

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 9

Strategy 1: D-BUS Services

l API as D-BUS specification l hide functionality in daemons l Good for

– data storage – system wide services

l Existing Examples:

– HAL – Strigi – Akonadi – Decibel

Application DBUS Service Daemon API bindings

slide-10
SLIDE 10

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 10

Strategy 2: Plugins

l Plugins are libraries loaded on demand l one API with a variety of implementations l useful for

– optional functionality – optional integration

l Existing Examples:

– Passwort Storage: Plain Text vs. KWallet

API headers Plugin Plugin Application / Service Daemon

slide-11
SLIDE 11

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 11

Strategy 3: Model-View Concepts

l Application implemented as Qt's model-view architecture l Model contains all data handling and core functionality l View can be replaced as needed for use case l Enables different views for Embedded /Desktop without much reimplementation / porting l Existing Examples:

– Plasma: DataEngines + Applets

View Model API Desktop View View Model API Embedded View

slide-12
SLIDE 12

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 12

Application bindings Model API

Component Puzzle

l Putting it all together

DBUS Service Daemon API API headers Embedded Integration Desktop Integration bindings Embedded View Desktop View

slide-13
SLIDE 13

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 13

Example: Decibel

l Communication Framework l building block for IM and VoIP applications

slide-14
SLIDE 14

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 14

Classic Applications History

Wengophone Qt4, SIP KPhone Qt4, SIP Skype Qt4, proprietary PSI Qt4, Jabber qutim Qt4, AIM/ICQ sim-im Qt3, multi-protocol Kopete KDE4, multi-protocol Konversation KDE3, IRC KCall KDE3, SIP KCall for KDE4 KDE4, Decibel

slide-15
SLIDE 15

Qt-based Realtime Communication Technologies Eva Brucherseifer

Design Goals

l Portable Works across platforms, desktops and devices l Integrated Seamlessly works with the environment of the user l Flexible

– Can handle different use-cases – Do not hard-code policy

l Minimal

– each component should be minimal and focus on its purpose – Less to code, test, debug and port

slide-16
SLIDE 16

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 16

Password Mgt

Decibel Architecture

Telepathy

Jabber AIM/ICQ SIP

Decibel

Buddy List Chat Window Dial Dialog UI: Use Case Specific

Accounts Dispatching Contacts Presence Configuration

Addressbook

DBUS DBUS

slide-17
SLIDE 17

Addressing Use Cases

l Embedded Chat Plain Text Jabber AIM/ICQ

Decibel

Embedded GUI Accounts Dispatching Contacts Presence Configuration Plain Text KWallet Jabber AIM/ICQ SIP

Decibel

Accounts Dispatching Contacts Presence Configuration Akonadi l KDE Desktop Chat+VoIP Full Desktop GUI

shared model

slide-18
SLIDE 18

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 18

Benefit for KDE

l Faster way to address use cases and user requirements l Easier quality assurance l Enable industry to create more KDE devices :-)

slide-19
SLIDE 19

Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 19

Contact

l Eva Brucherseifer

eva.brucherseifer@basyskom.de eva@kde.org

l basysKom is hiring!

– Qt Consulants – KDE Consultants – Squish Consultants