KDE Plasma Mobile workspaces




         Marco Martin
What is Plasma?
What is Plasma?

●   A primary user interface:
    ●   For desktops
    ●   Netbooks
    ●   Smartphones
    ●   Tablets
 ...
History
History

●   Before Plasma: in KDE 2 and 3
    ●   Window manager: Kwin
    ●
        Desktop: Kdesktop: desop icons, no 3...
KDE Workspace 4
KDE Workspace 4.0



●   Qt4
●   QGraphicsView
●   Single API: no more 3 incompatible applications
Plasma

●   Everything is a plugin
●   Same widgets can run on panel and desktop:
    the concept of formfactors
●   Unifi...
Plasma Desktop

●   Even desktop icons become an optional plugin
●   You can have multiple “desktop” folders in
    differ...
Plasma library

●   The library that makes this possible has several
    components
●   Visual: facilities for data visual...
Visualization

●   Plasma::Applet: is a QGraphicsWidget basic visual component: all
    visualization plugins inherit from...
Data

●   DataEngine and DataContainer: all data providing
    plugins are instances of DataEngine
    ●   Shared between ...
Other features

●   Package: an Applet can be packaged and distributed
    around: it's called plasmoid and is managed by ...
Netbook: differences

●   Not only power and screen size: different use
    case from notebooks
●   A “desktop” doesn't ma...
Netbook: Search and launch
Netbook: Search and launch




   ●   Search more intuitive than browsing categories
   ●   Reuses runners
   ●   Simple m...
Netbook: newspaper
Netbook: newspaper




●   Touchscreen friendly
●   Primary place for widgets
●   Biggest use case: PIM and webservice cli...
Plasma Mobile


●   Can KDE technologies provided an unified, yet
    different experience across diffrent devices?
●   Pa...
Challenges



●   Smaller physical screen size
●   Limited hardware resources
●   Different user interaction flow
Mobile profiles

●   Different slimmed down profiles
●   KDE libraries modules become optional
    ●   Solid
    ●   Kiosl...
Plasma Mobile


●   Devices are eterogeneous
●   Need for flexibility
●   Configuration
●   Ease of development
●   Test b...
Plasma Mobile


●   Smartphones today: grid of icons, sometimes a
    space for “widgets”
●   Difficult organization
●   P...
Plasma Mobile
Plasma Mobile
Plasma Mobile
Plasma Mobile
Tablet
Tablet
Tablet



●   Plasma mobile shell
●   Custom QML files
●   Plasma Netbook Newspaper and
    Search and Launch
Questions?
Upcoming SlideShare
Loading in...5
×

KDE Plasma Mobile workspaces at Cybercom Developer Day 2010 by Marco Martin 7.9.2010

3,145
-1

Published on

Marco Martin's presentation at Cybercom Developer Day 2010

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,145
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

KDE Plasma Mobile workspaces at Cybercom Developer Day 2010 by Marco Martin 7.9.2010

  1. 1. KDE Plasma Mobile workspaces Marco Martin
  2. 2. What is Plasma?
  3. 3. What is Plasma? ● A primary user interface: ● For desktops ● Netbooks ● Smartphones ● Tablets ● Media centers ● A framework: ● For data visualization and editing ● A touch friendly, QGraphicsView based widget library ● Useful to write sandboxed, simple web oriented applications
  4. 4. History
  5. 5. History ● Before Plasma: in KDE 2 and 3 ● Window manager: Kwin ● Desktop: Kdesktop: desop icons, no 3rd party extensibility ● Panels: Kicker: components such as taskbar are plugins, simple api, but limited to panels ● Superkaramba: desktop widget system, plugins written in Python, not compatible with Kicker
  6. 6. KDE Workspace 4
  7. 7. KDE Workspace 4.0 ● Qt4 ● QGraphicsView ● Single API: no more 3 incompatible applications
  8. 8. Plasma ● Everything is a plugin ● Same widgets can run on panel and desktop: the concept of formfactors ● Unified framework with strong model/view emphasis
  9. 9. Plasma Desktop ● Even desktop icons become an optional plugin ● You can have multiple “desktop” folders in different areas -> easy to work on different projects ● The concept of “activities”: depending on “what you are doing right now” ● completely different content in the desktop ● Different set of windows shown ● Different behaviour of individual applications
  10. 10. Plasma library ● The library that makes this possible has several components ● Visual: facilities for data visualization, such as a widget set and the management/layouting of visual plugins ● Data: fetching and editing of any kind of data trough plugins with a simple and unified api
  11. 11. Visualization ● Plasma::Applet: is a QGraphicsWidget basic visual component: all visualization plugins inherit from it ● Containment: is an Applet: contains other applets, manages their position, size, formfactor and lifetime ● Corona: it's a QGraphicsScene: only contaiments are directly inserted into it, manages the association between containments and Viewports ● View: It's a QGraphicsView, it has an association 1:1 with a Containment, their geometries are syncronized ● Widget set: set of standard (QGraphics) widgets, from pushbuttons to flickable views, themed with an SVG engine
  12. 12. Data ● DataEngine and DataContainer: all data providing plugins are instances of DataEngine ● Shared between applets ● A data item will be represented by an unique (in the DataEngine context) identifier string and will be wrapped in a DataContainer ● An applet can use more than one dataengine and mash-up the resulting data ● Service: the way to write data ● If i want to post a twitter update i'll get the service associated with the source that represents my account
  13. 13. Other features ● Package: an Applet can be packaged and distributed around: it's called plasmoid and is managed by the Package class, that can install and uninstall them per user. They should be written with a scripted binding, preferably Javascript ● Remote applets: A system can export its running Applets trough the network, the Package will be sent across o the client machine and the dataengines/services will run on the sharing one: ● Remote control
  14. 14. Netbook: differences ● Not only power and screen size: different use case from notebooks ● A “desktop” doesn't make sense ● The desktop is an “application” ● No border maximized windows ● Present windows is the taskbar ● Some other different default settings
  15. 15. Netbook: Search and launch
  16. 16. Netbook: Search and launch ● Search more intuitive than browsing categories ● Reuses runners ● Simple menu, no trees ● Use of flicking and drag and drop
  17. 17. Netbook: newspaper
  18. 18. Netbook: newspaper ● Touchscreen friendly ● Primary place for widgets ● Biggest use case: PIM and webservice client widgets
  19. 19. Plasma Mobile ● Can KDE technologies provided an unified, yet different experience across diffrent devices? ● Part of the libraries and the look and feel are preserved ● Here we want a different workspace and applications UI, while maintaining the logic behind
  20. 20. Challenges ● Smaller physical screen size ● Limited hardware resources ● Different user interaction flow
  21. 21. Mobile profiles ● Different slimmed down profiles ● KDE libraries modules become optional ● Solid ● Kioslave ● KnewStuff ● Smaller packages ● Smaller memory footprint
  22. 22. Plasma Mobile ● Devices are eterogeneous ● Need for flexibility ● Configuration ● Ease of development ● Test bench for the integration of QtQUICK in Plasma
  23. 23. Plasma Mobile ● Smartphones today: grid of icons, sometimes a space for “widgets” ● Difficult organization ● Plasma Mobile: “context aware”, who i am, where i am, what i'm doing ● Set of “activities” like work, messaging, social, games
  24. 24. Plasma Mobile
  25. 25. Plasma Mobile
  26. 26. Plasma Mobile
  27. 27. Plasma Mobile
  28. 28. Tablet
  29. 29. Tablet
  30. 30. Tablet ● Plasma mobile shell ● Custom QML files ● Plasma Netbook Newspaper and Search and Launch
  31. 31. Questions?

×