crossing boundaries
play

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


  1. Crossing boundaries Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 1

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

  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 12.08.2008 Eva Brucherseifer Seite 3

  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 12.08.2008 Eva Brucherseifer Seite 4

  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 12.08.2008 Eva Brucherseifer Seite 5

  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 12.08.2008 Eva Brucherseifer Seite 6

  7. Strategies for Cross-Device Development Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 7

  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 12.08.2008 Eva Brucherseifer Seite 8

  9. Strategy 1: D-BUS Services l API as D-BUS specification Application l hide functionality in daemons bindings l Good for DBUS – data storage API – system wide services Service Daemon l Existing Examples: – HAL – Strigi – Akonadi – Decibel Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 9

  10. Strategy 2: Plugins l Plugins are libraries loaded on demand Application / l one API with a variety of implementations Service Daemon API headers l useful for – optional functionality Plugin Plugin – optional integration l Existing Examples: – Passwort Storage: Plain Text vs. KWallet Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 10

  11. Strategy 3: Model-View Concepts l Application implemented as Qt's model-view architecture Desktop View l Model contains all data handling and core functionality View l View can be replaced as needed for use case API Model l Enables different views for Embedded /Desktop without much reimplementation / porting Embedded l Existing Examples: View View – Plasma: DataEngines + Applets API Model Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 11

  12. Component Puzzle l Putting it all together Embedded Desktop View View API Application Model bindings bindings DBUS API Service Daemon API headers Embedded Desktop Integration Integration Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 12

  13. Example: Decibel l Communication Framework l building block for IM and VoIP applications Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 13

  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 Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 14

  15. 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 Qt-based Realtime Communication Technologies Eva Brucherseifer

  16. Decibel Architecture UI: Use Case Specific Buddy List Chat Window Dial Dialog DBUS Accounts Contacts Decibel Password Mgt Presence Addressbook Configuration Dispatching DBUS Telepathy AIM/ICQ Jabber SIP Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 16

  17. Addressing Use Cases l Embedded l KDE Desktop Chat Chat+VoIP shared model Full Desktop GUI Embedded GUI Dispatching Dispatching Accounts Accounts Plain Text KWallet Decibel Contacts Decibel Contacts Akonadi Plain Text Presence Presence Configuration Configuration AIM/ICQ AIM/ICQ Jabber SIP Jabber

  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 12.08.2008 Eva Brucherseifer Seite 18

  19. Contact l Eva Brucherseifer eva.brucherseifer@basyskom.de eva@kde.org l basysKom is hiring! – Qt Consulants – KDE Consultants – Squish Consultants Crossing Boundaries 12.08.2008 Eva Brucherseifer Seite 19

Recommend


More recommend