What's the diff?
With viewports, aka large desktops:
- Your desktop is bigger than what you see at any given time.
- The viewport is the screen-size piece of desktop you are currently
viewing.
- You can move around within this bigger desktop in screen-size increments
(the norm). You can also smoothly scroll around it, but few WMs support this
and few people do it (or want it, I assume).
- If a window is hanging off the edge of one viewport, its non-visible
portion will be visible in the next viewport.
- You can "stick" a window (as in, "stuck to the monitor glass") so that it
remains in the same position regardless of viewport movements.
With virtual desktops, aka workspaces:
- Each workspace acts as an independent screen with its own set of contained
windows.
- A window can be designated to show up on multiple workspaces, and/or sent
around from one workspace to another, usually via a menu option such as "send
to desktop 3".
- Windows do not overlap between workspaces as they do with viewports
- Workspaces are generally not very spatially oriented, rather they tend to
have names or numbers, and are presented as a list.
These descriptions may be a little biased in favor of viewports, since I prefer
them. See why viewports rule.
Other explanations
A Viewport is a partial view of a virtual Desktop. Kahakai not only lets
you have virtual desktops (to give you the effect of having a bigger screen),
it lets you have multiple Desktops, as if you had multiple physical
screens. -- From the
old kahakai wiki (archive.org)
For more explanation, see the EWMH spec here.