Projects/Plasma/ZUI

From KDE TechBase

The Replacement: Activities Manager

showstoppers

  • react to add/remove signals (both plasmaapp and the activitymanager)
  • containment still has a 'remove' action. right now this zaps the containment but leaves the activity and I haven't tested what that actually *does*. if plasma-desktop can kill/disable that action that'd be nice (remember it has kbd shortcut not just UI), otherwise it should do something sensible.
  • activitymanager should not allow deletion of the last activity
  • the filter bar doesn't work. we were going to have the 'running'/'stopped' buttons scroll to the appropriate place instead of filter, btw; that implies having them sorted, too. nobody will ever find...
  • keep the current activity in sync with the visible containment
  • work with multiple screens. this means ensuring there's a containment for every screen; view syncing (above) should take care of the switches automagically. also, loading stopped activities should put the correct containments on the correct screens.
  • work with multiple desktops. this could be done the same way as screens, or by tracking which desktopview is current and having that be sync'd with the current activity (but be careful not to break multiscreen)

functionality:

  • when plasma is locked, the activitymanager runs away. it shouldn't do that; instead it should disable the add/remove buttons (and maybe stop/play too?)
  • renaming is still done in the containment config. I haven't thought of a good way to do renames from the activity manager... but ivan's gonna want something for setting the icon too; I told him I don't want it hidden away in some kcm
  • activity icon support
  • save out containments for unplugged screens, and automagically reload them again when a screen is connected

polish:

  • a pretty little 'play' icon should be overlaid on activities that are stopped
  • activity manager doesn't show which activity is the current one. some sort of pretty highlight or something would be nice.
  • those remove/stop buttons could be a lot prettier. hover effects n'stuff

A Fun Look At The Past

ZUI : Zooming User Interface

There will be 3 zoom levels (will be more like 45% and 8% to allow space between groups): 100%, 50%, and 10%. (Note: 50% fits 4 groups and 10% fits 100)

Mockup of 50% view (with only 2 desktops)

Description (initial idea)

The idea is this: plasmoids (launchers, icons, widgets, games, mini-apps, etc) exist in groups. A group can be displayed to take up the full area of the screen. This is what one would most likely recognize as "the desktop" today. You are not, however, limited to just one full screen group. You can have several.

When you zoom out, you see these various groups and the plasmoids within them shrink to mere icons. This lets you pan around and rearrange plasmoids or pick another group (and little else).

Zoom out once more and the groups become little iconified versions of themselves and the plasmoids themselves disappear. This view lets you see all your groups at once even if you have a lot of them. pick one and you zoom in on it.

The idea is to allow one to manage collections of items by grouping them and then quickly switching between them using zoom-and-pan where zoom provides overview (lowering detail), pan provides navigation and unzoom increases detail again (implying selection of another group to use).

Details

Should plasmoids be iconified or zoomed out?

It is easiest to identify plasmoids when they are just scaled down.

Kwin integration

In the future, we might want to integrate this with kwin.

Zoom levels
  • 3 Zoom levels
    • Desktop
      • Normal Desktop View
    • Groups
      • Zoomed out groups
      • Around 45%
    • Overview
      • Zoomed out even more
      • Maybe have this as a tile level (groups are lined up)

Use Cases

Aaron works at home. you can tell he's a happening fellow by his name. As such he does a lot of things with his computer, not just work. He separates his work from his family from his play "lives" on his computer by arranging different desktop sets. Aaron uses the zoom-and-pan to quickly switch between "work" and "family" groups during the day.

Lisa is a graphic designer. At any given time she is working on projects for 2-4 clients. she keeps the work files for each client project in a separate group, each labeled according to the project title. She also keeps the contact list for the other people she's working on the project with (copy writers, the client contact, the project manager, etc), the schedule calendar and current todo list (sync'd to the company's groupware/calendaring server) with each group. As she moves from one project to another, she zooms-and-pans to the appropriate group.

Riccardo is a 16 year old lay-about. He should be working on his chem homework but instead is playing on facebook and myspace. He has the plasmoids for different sets of friends in different groups according to clique and a grouping for his class work. When he hears his mom approaching he quickly zoom-and-pans to the work grouping.