User Tools

Site Tools


wiki:development:new-feature-brainstorming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:development:new-feature-brainstorming [2013/04/09 09:52]
sunweaver created
wiki:development:new-feature-brainstorming [2016/05/02 10:32] (current)
stefanbaur [Better sound support, Part 1]
Line 1: Line 1:
-===== X2Go related code projects that could be submitted to GSOC 2013 =====+====== New features for X2Go ======
  
-Below you find a list of code projects that we (X2Go upstream) are interested in. Most of the projects we have on our todo lists, anyway, but there are always other things that sneak in as more important. Getting help by some genuine people on the code projects listed below would be really awesome.+Below you find a list of new code projects that we are interested in, but no one has started working on them, yet 
 + 
 +===== X2Go Client =====
  
-However, if you do not sense affinity to any of the project ideas listed below, feel free to propose your own code project idea. 
  
 ==== X2Go Client / X2Go Plugin on Chromebooks ==== ==== X2Go Client / X2Go Plugin on Chromebooks ====
   * As [[http://en.wikipedia.org/wiki/Chromebook|Chromebooks]] are a kind "Thin Client" "look-alikes", it would be a good idea to be able to access Linux machines via X2Go.   * As [[http://en.wikipedia.org/wiki/Chromebook|Chromebooks]] are a kind "Thin Client" "look-alikes", it would be a good idea to be able to access Linux machines via X2Go.
   * As it is only possible to install applications on chromeOS (running on an original chromebook) via the [[https://chrome.google.com/webstore/category/home|Googles webstore]] of Google Chrome, X2Go Client needs to packaged for [[https://chrome.google.com/webstore/category/home|Googles webstore]]. Preferences and maybe session files should be altered and committed, so that users can sync them with their Google account.   * As it is only possible to install applications on chromeOS (running on an original chromebook) via the [[https://chrome.google.com/webstore/category/home|Googles webstore]] of Google Chrome, X2Go Client needs to packaged for [[https://chrome.google.com/webstore/category/home|Googles webstore]]. Preferences and maybe session files should be altered and committed, so that users can sync them with their Google account.
 +
 +==== Better sound support, Part 1 ====
 +  * Code has been developed to clean up how pulseaudio is called on all three platforms
 +  * This brings Pulseaudio sound to Mac OS X, which currently isn't available in the standard release
 +  * This also contains the option to make sound unidirectional, so you can mute the microphone directly in X2GoClient
 +  * The code needs to be rebased against the current mainline X2Go client
 +  * Status update:
 +    * Mihai (ionic) is working on this as time permits, 
 +    * sponsored by an anonymous donor via BAUR-ITCS. 
 +    * Additional donations always welcome, though, as it turned out to be way more work than expected.
 +    * no ETA yet
 +==== Android Client ====
 +  * TheQVD project has an NX based remote desktop solution that uses nxproxy natively on Android (https://github.com/theqvd/theqvd/blob/master/nx/nxcomp-3.5.0-android.patch & https://github.com/theqvd/theqvd/tree/master/libqvdclient/android)
 +  * It should be easy to mix and match this with our codebase to create a functioning Android X2Go client. (According to Mike#1)
 +  * Here's a technology preview of how you can run X2Goclient on Android - no root required, but does have quite a few limitations: http://youtu.be/3h_kiY78Ks4
 +===== X2Go Server ======
  
 ==== Access X2Go Server Sessions via HTML5 Client ==== ==== Access X2Go Server Sessions via HTML5 Client ====
Line 13: Line 30:
   * An HTML5 Client could help to build native apps and render sessions on a [[https://en.wikipedia.org/wiki/Canvas_element|HTML5 Canvas]]   * An HTML5 Client could help to build native apps and render sessions on a [[https://en.wikipedia.org/wiki/Canvas_element|HTML5 Canvas]]
   * In the first step, it would be possible to use existing vnc<->canvas proxies like [[http://kanaka.github.com/noVNC/|noVNC]] or [[http://guac-dev.org/|Guacamole]].   * In the first step, it would be possible to use existing vnc<->canvas proxies like [[http://kanaka.github.com/noVNC/|noVNC]] or [[http://guac-dev.org/|Guacamole]].
 +
 +
 +==== Better sound support, Part 2 ====
 +  * While X data is compressed depending on the settings chosen in the client (available bandwidth and whatnot), no such compression takes place for the audio stream
 +  * Changing/fixing this may mean writing a wrapper around/a plugin to pulseaudio, or ditching PulseAudio altogether for some other sound system (which needs to be available on Windows, Mac OS X and Linux)
 +
 +===== NX-Libs =====
 +
 +==== Rewrite of NX Agent/X2Go Agent ====
 +
 +  * Currently, NX Agent/X2Go Agent is based on old X-Server code
 +  * This needs to be rewritten so it can be built against current X.org
 +  * Care needs to be taken that there are no unresolvable licensing issues
 +  * HUGE Task
 +  * estimated cost at regular hourly rates of an average coder: 50.000 EUR
 +  * Crowdfunding planned, volunteers (both coders and funders) welcome
 +  * Status update:
 +    * This is now Work in Progress
 +    * NX-Rewrite is taking place with the Arctica Project (https://arctica-project.org/)
 +    * currently sponsored by Qindel (http://www.qindel.com/)
 +    * Worked on by Mike#1 and Ulrich
 +    * ETA: August 2017
  
 ==== Upgrade GLX extension in NX (redistributed) ==== ==== Upgrade GLX extension in NX (redistributed) ====
Line 20: Line 59:
   * This coding project would be a start to gradually update the Xserver extensions shipped with NX   * This coding project would be a start to gradually update the Xserver extensions shipped with NX
   * During this project you will get a deep insight into Xserver code. You need good C and Cplusplus skills to start this code project. You have to be a magician with C coding debugging tools!!!   * During this project you will get a deep insight into Xserver code. You need good C and Cplusplus skills to start this code project. You have to be a magician with C coding debugging tools!!!
 +  * Status update:
 +    * This will hopefully be fixed in "Rewrite of NX Agent/X2Go Agent" as well
 +
 +===== Desktop Bindings =====
  
 ==== X2Go Desktop Applet ==== ==== X2Go Desktop Applet ====
Line 28: Line 71:
   * Please use the tools ''plasma-widget-x2go'' and ''x2godesktopsharing'' as reference and as a start point   * Please use the tools ''plasma-widget-x2go'' and ''x2godesktopsharing'' as reference and as a start point
   * Implementation shall be in C++ using Qt4.   * Implementation shall be in C++ using Qt4.
 +
 +===== X2Go Session Broker ======
  
 ==== X2Go Session Broker WebGUI Service ==== ==== X2Go Session Broker WebGUI Service ====
Line 45: Line 90:
   * Good knowledge of Qt4 and Cplusplus are required for this task   * Good knowledge of Qt4 and Cplusplus are required for this task
  
 +
 +===== PyHoca / Python X2Go =====
        
 ==== PyHoca-PubAppDaemon - transparent X2Go Published Applications Integration into local Desktops ==== ==== PyHoca-PubAppDaemon - transparent X2Go Published Applications Integration into local Desktops ====
wiki/development/new-feature-brainstorming.1365501158.txt.gz · Last modified: 2013/04/09 09:52 by sunweaver