Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 1
Crossing boundaries Crossing Boundaries 12.08.2008 Eva - - PowerPoint PPT Presentation
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
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
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
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
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
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
Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 7
Strategies for Cross-Device Development
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
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
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
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
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
Crossing Boundaries Eva Brucherseifer 12.08.2008 Seite 13
Example: Decibel
l Communication Framework l building block for IM and VoIP applications
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
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
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
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
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 :-)
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