GSoC 2009: network transparency in Plasma

As you’ll probably have noticed, the accepted proposals for the Google Summer of Code of 2009 have been announced. KDE has a nice selection of projects this summer, and I’m very happy my proposal is one of them.

So what does this ‘network transparency in plasma’ mean? Allow me to copy/paste some stuff from my proposal:

The goal of this project is to make some parts of plasma network transparent with as end goal the ability to:

  • have applets be able to use services and data engines on remote computers
  • move applets and activities over the network
  • share applets and activities between multiple computers

This allows for some innovative new use cases in plasma:

Alice is a teacher on a school where they use computers as a learning aid. She has set up all computers in the classroom to display a single shared activity in plasma. Now Alice can modify this activity on her computer depending on what she teaches that day, and all the children immediately see changes she made on their desktop as well. Because this activity is shared, a lot of applets also sync smoothly: whenever she modifies the text in a certain note applet for example, all children will immediately see this change. Alice can use this mechanism to give children exercises through the blackboard applet, and she can monitor the children’s progress.

Bob’s desktop PC is connected to his stereo, and he often uses that PC to put on some music. He doesn’t want to have to walk to this PC whenever he wants to, for example, skip a song. He publishes the “now playing” applet that is already on the desktop of his main PC. He picks up his wifi enabled smart phone, and in the add widget dialog on his phone (which is of course running plasma) he selects this published applet from the list of  applets and containments that are published on the network. Now the exact same “now playing” applet appears on his phone. He can use this applet to skip songs on his main computer, or to see what song his main computer is playing.

Charlie just got a new notebook. He would like to have some of the same activities he has created on his other PC on his newly installed notebook. He publishes these activities to the network, and adds those activities on his notebook. Note the difference between this use case and the previous one in that in this use case, Charlie will want to use his the local data engines and services of his notebook, instead of being connected to the data engines/services from his main computer.

This will of course all be wrapped in awesome api, so the developer doesn’t need to care if a DataEngine or Service is local, or hosted on another computer.

I hope I made my project a bit more clear to those who were wondering what exactly ‘network transpancy in plasma’ means.


11 Responses to “GSoC 2009: network transparency in Plasma”

  1. lunarcloud Says:

    DAMN! That sounds amazingly useful!

    It makes my spine tingle. Sweet idea.

  2. baxeico Says:

    Man, do this and you’ll be my personal GOD! 🙂

  3. ophilar Says:

    When I first thought of using Linux & KDE 4, I wanted exactly this kind of functionality.

    Thanks, and best of luck

  4. zayed Says:

    Sound good. But I hope there will be a decent collection of activates to utilize this framework.

  5. Aaron Seigo Says:

    @zayed: that’s the nice thing about how we’ve been designing things: one won’t need to write widgets and engines “to utilize this framework”, it will “just work” for anything following the dataengine/service/visualization pattern.

    as for use cases to take advantage of, those are thick and heavy.

  6. Socceroos Says:

    I’m salivating. I’ve been looking forward to this kind of network transparency since KDE4’s inception. Bravo on taking up the brilliant idea!

  7. Stefan Majewsky Says:

    A nice followup on this SoC could be some kind of dedicated Plasma server. Suppose one comes home with his notebook, where he has taken some notes on the notes applet. (A very common usecase for me, the notes applet is much handier than starting Kontact each and every time.) While he’s browsing the net on his couch, the notebook notices that a known Plasma server is around, and sends its applet configuration to there. When the user switches off the notebook, and goes to his desktop PC to write some document, the desktop PC will automatically synchronize with the Plasma server, thereby reproducing the new notes.

  8. Gopala Krishna Says:

    WoW!! Its really innovative concept being adapted to plasma…
    All the best with your GSoC 🙂

  9. Colin Williamson Says:

    A nice extension to this idea would be the ability to create “container” virtual desktop/s for vnc/rdp or virtualised systems that obey the host machines click rules.

  10. Wieści z Planety nr 1 - Says:

    […] oryginalny wpis… […]

  11. GSoC remote widgets: first milestone. « pindaBlog Says:

    […] remote widgets: first milestone. By rscheepmaker I finally reached a significant point in my GSoC project. Since yesterday I can actually control amarok through a published nowplaying Plasma::Service from […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: