Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Mobilesoft presentation
Mobilesoft presentation
Loading in …3
×

Check these out next

1 of 31 Ad
Advertisement

More Related Content

Similar to KDE Plasma Mobile workspaces at Cybercom Developer Day 2010 by Marco Martin 7.9.2010 (20)

Advertisement

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?

×