Proposal: Shared network-enabled virtual desktop for KDE 4.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



PROPOSAL
KDE 4.0 should have network-enabled shared virtual desktop that could be shared with other users on the network. The proposal is tentatively called “Foresight”.
RATIONALE
Network-awareness seems to be the order of the day these days. And while KDE 3.x is network-enabled by default (different IO-slaves for example) that is really just baby-steps when compared to things that KDE could and should be able to do. With Foresight, KDE would take a huge step forward when it comes to true collaborative working between individuals over the network. And as networked KDE is, there’s currently no way to substitute physical meetings and on-location brainstorming. Foresight would make those possible, using nothing but the internet and KDE.
DETAILS
KDE (as do other desktops in Linux/UNIX) offers virtual desktops by default. What if one (or more, if the users so wishes) of those desktops were network-enabled and shared? Meaning, all the people who are sharing that desktop would see the exact same thing. If one of the users launches an app on that desktop, it would appear on everyone’s shared desktop. Every user could use the apps on that desktop, and everyone could see the others working on it. Each user could also have a mouse-cursor of their own. The desktop would clearly state “Shared with: Linus Torvalds (torvalds@xxxxxxxx), Bill Gates (billg@xxxxxxxxxxxxx) and Janne Ojaniemi (janne.ojaniemi@xxxxxx)” (for example). Or it could simply say: “Shared with: The IT-department”, where “IT-department would be a group of people. Foresight could tie in to Kaddressbook for providing the user with names of groups and users.
The shared desktop would look different from the other desktops. This is done in order to differentiate it from the private desktops, so users won’t use the shared desktop for personal work. Also, moving a running app from a private desktop to shared desktop would pop up a dialog-box warning the user that he’s about to share the application with others.
By default, the shared desktop could offer an area for “doodling” and typing text. This way the people using the shared desktop could quickly type text and/or make doodles demonstrating an idea they have. This way there would be no need to launch a separate IM-client or send emails.
A small-scale variant of Foresight could be a shared plasmoid on the desktop. That plasmoid would be shared with other users. Users could drop files on to the plasmoid and it would appear on everyone’s desktop. They could write texts in the plasmoids and it would appear on everyone’s desktop as well. They could also share output of apps there (presentations etc.). While this functionality could be replicated with IM, shared folders and the like, this would allow central place to handle this, and it would make ad hoc collaboration easier. This would allow users and developers to quickly share something they have been working on.
TECHNICAL IMPLEMENTATION: ROUGH DETAILS
Sharing could be done through peer-to-peer networking using NX-compression. This way there would be no disruption to others if one user loses network-connectivity. Also, by using peer-to-peer, the bandwidth-strain on one particular machine will be lessened. 
The actual networking could be done through Zeroconf, where the user could simply pick and choose the users with whom he would like to share the desktop with. Or the user could pick people up from Kaddressbook. Shared desktops could also announce themselves to the network using Zeroconf, and other could join them with a click of a mouse, if the desktop is “open” for joining. “closed” shared desktops would require authorization/password in order to join. Authorization could either be handled by anyone sharing the desktop, by voting, or by decision by the master user. Master user would be the user who created the shared desktop. Should the Master User lose network-connection while sharing a closed desktop, the approval procedure would automatically default to popular vote. Annd since the networking would be done through peer-to-peer, there would be no disruption in the shared desktop evn if master users loses connection.
INTENDED USES
This system could be used in following environments:
- Education & training. Students could share a desktop with the teacher, and the teacher could actually show the users what he’s talking about on the screen (code for example). Also, training users to use some app (or KDE itself) would be easier when the instructor could actually show to the users how to do something.
- Distributed projects & teamwork: All members of a distributed team could see the same desktop. Working would be smooth when each team-member could actually see in real-time what the other person is doing. It would enable the “why not change this thing here?”-communication with instant feedback. Also, one person could write code, while others read what he’s writing. One person could create artwork, while others provide instant feedback as he’s creating the artwork. Instead of waiting for the user to finish working and mail/upload his work, others could see it as it is being created.
WHY NOT?
What problems could there be in creating this technology? The technology might not be there yet. NX might not work with peer-to-peer. Hopefully people with needed technological expertise will provide feedback on possible issues.
SUMMARY
This proposal, if implemented, could turn KDE in to de facto standard when it comes to distributed teamworking at this level. Not only would this be an immense help to open-source developers (who are often physically separated and work over the internet), it would really help companies with offices and teams around the world. And my proposal presents a paradigm that simply does not exist in competing products, open or proprietary. With Foresight, KDE would take “network-awareness” to a whole new level. This could become a “must have” feature in the future.
GLOSSARY
Closed Desktop: Shared desktop that requires authorization from the Master User or from the other users of the desktop for new users to join the desktop.
Foresight: Set of technologies that enables user to share a desktop and associated applications with other users in the network
Master User: User who creates the shared desktop and shares it with others. This user can decide who can connect to the desktop, or whether such decisions will be made by popular vote.
NX: Compression-algorithm created by NoMachine that allows remote-X even over dial-up links. Core libraries are licensed under the GPL, and free implementations exist (FreeNX)
Open Desktop: A shared desktop anyone on the network can join freely.___________________________________________________.Account management:  https://mail.kde.org/mailman/listinfo/kde.Archives: http://lists.kde.org/.More info: http://www.kde.org/faq.html.


[Index of Archives]     [Trinity (TDE) Desktop Users]     [Fedora KDE]     [Fedora Desktop]     [Linux Kernel]     [Gimp]     [GIMP for Windows]     [Gnome]     [Yosemite Hiking]
  Powered by Linux