Skip to content

[PRE REVIEW]: x11docker - Run GUI applications in Docker containers #1346

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
whedon opened this issue Mar 23, 2019 · 46 comments
Closed

[PRE REVIEW]: x11docker - Run GUI applications in Docker containers #1346

whedon opened this issue Mar 23, 2019 · 46 comments

Comments

@whedon
Copy link

whedon commented Mar 23, 2019

Submitting author: @mviereck (Martin Viereck)
Repository: https://github.com/mviereck/x11docker
Version: v5.5.1
Editor: @arfon
Reviewers: @yxliang01, @sgyzetrov, @1138-4eb

Author instructions

Thanks for submitting your paper to JOSS @mviereck. Currently, there isn't an JOSS editor assigned to your paper.

@mviereck if you have any suggestions for potential reviewers then please mention them here in this thread. In addition, this list of people have already agreed to review for JOSS and may be suitable for this submission.

Editor instructions

The JOSS submission bot @whedon is here to help you find and assign reviewers and start the main review. To find out what @whedon can do for you type:

@whedon commands
@whedon
Copy link
Author

whedon commented Mar 23, 2019

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@whedon commands

What happens now?

This submission is currently in a pre-review state which means we are waiting for an editor to be assigned and for them to find some reviewers for your submission. This may take anything between a few hours to a couple of weeks. Thanks for your patience 😸

You can help the editor by looking at this list of potential reviewers to identify individuals who might be able to review your submission (please start at the bottom of the list). Also, feel free to suggest individuals who are not on this list by mentioning their GitHub handles here.

@whedon
Copy link
Author

whedon commented Mar 23, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 23, 2019

PDF failed to compile for issue #1346 with the following error:

/app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:83:in check_fields': Paper YAML header is missing expected fields: authors, affiliations (RuntimeError) from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon.rb:69:in initialize'
from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/processor.rb:32:in new' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/lib/whedon/processor.rb:32:in set_paper'
from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/bin/whedon:55:in prepare' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-01ece1d1d135/bin/whedon:116:in <top (required)>'
from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in load' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in

'

@arfon
Copy link
Member

arfon commented Mar 23, 2019

@mviereck - many thanks for your submission. Please review the submission documentation https://joss.readthedocs.io/en/latest/submitting.html#example-paper-and-bibliography and format your paper metadata exactly as you find it in the example.

@mviereck
Copy link

@arfon Thank you for looking at this!
I have reformated the header of paper.md, especially authors and affiliations.

@mviereck
Copy link

You can help the editor by looking at this list of potential reviewers to identify individuals who might be able to review your submission.

The submission of x11docker targets reproducible science / research. I found the following editors that might be interested in this topic:
@nuest @jsta @benmarwick @adamhsparks @cole-rokamp @daissi @gflofst @seabbs @trallard @brainstorm @mgymrek @katyhuff @pjotrp @karthik @arokem @usethedata @george-githinji

Especially I want to mention @nuest who suggested the submission in this ticket.

Also, feel free to suggest individuals who are not on this list by mentioning their GitHub handles here.

Maybe these people are interested in looking at this, too:
@yxliang01 @1138-4eb @sgyzetrov @gidfiddle

@ooo
Copy link

ooo bot commented Mar 23, 2019

👋 Hey @mviereck...

Letting you know, @trallard is currently OOO until Sunday, April 7th 2019. ❤️

@yxliang01
Copy link

Hello @mviereck and all, I am happy to review the paper. May I know where I can find the compiled PDF of the submission?

@mviereck
Copy link

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Mar 23, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 23, 2019

PDF failed to compile for issue #1346 with the following error:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13 0 13 0 0 263 0 --:--:-- --:--:-- --:--:-- 265
Error reading bibliography ./paper.bib (line 61, column 3):
unexpected "u"
expecting space, ",", white space or "}"
Error running filter pandoc-citeproc:
Filter returned error status 1
Looks like we failed to compile the PDF

@mviereck
Copy link

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Mar 23, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 23, 2019

@mviereck
Copy link

Hello @yxliang01 !

Much thanks that you want to look at this.
The PDF generation succeeded: https://github.com/openjournals/joss-papers/blob/joss.01346/joss.01346/10.21105.joss.01346.pdf
However, here the PDF is readable in browser only, it does not open locally if I download it.

@arfon
Copy link
Member

arfon commented Mar 24, 2019

@whedon add @mviereck as reviewer

@arfon
Copy link
Member

arfon commented Mar 24, 2019

@whedon assign @arfon as editor

@whedon
Copy link
Author

whedon commented Mar 24, 2019

OK, the editor is @arfon

@arfon
Copy link
Member

arfon commented Mar 24, 2019

@whedon add @yxliang01 as reviewer

@whedon whedon assigned arfon and unassigned arfon Mar 24, 2019
@whedon
Copy link
Author

whedon commented Mar 24, 2019

OK, @yxliang01 is now a reviewer

@arfon
Copy link
Member

arfon commented Mar 24, 2019

@whedon assign @yxliang01 as reviewer

@whedon
Copy link
Author

whedon commented Mar 24, 2019

OK, the reviewer is @yxliang01

@mviereck
Copy link

mviereck commented Mar 25, 2019

@1138-4eb Thanks for your suggestions!

"completly". typo, should be "completely".

fixed.

Citation reference @Kratzke_Heuveline_2017 is missing in paper.bib, so the cite is shown as ???? in the PDF.

fixed, changed to @rechert_preserving_2017. Maybe @nuest can confirm that he means this one.

"reduced requirements of system environment (i.e. only the container runtime)". This might be only partially true.

I think this is still true. The script you've linked mainly checks for kernel configuration. My system misses e.g. apparmor and zfs, but they are not essential for Docker to work.
Core x11docker functionality depends on tools that are quite common.

"by running an X display server on the host system". This is the default. But, is it a requirement? Isn't it possible to use x11docker in order to run an X server on a machine, containers on a different one and use a third client? Even though it is not the standard use case, it is important not to constrain what x11docker is capable of, or the contexts where it can be a useful complement.

x11docker can also run with e.g. ssh -X, and probably some more complex setups are possible. But I think the description should not be too complicated.

"for deployment in cloud-based infrastructures" might be replaced with "multiple infraestructures" or "heterogeneus infrastructures", since it is certainly not limited to the cloud.
Below: "because Docker is originally built for server software". It might be adequate to add the reference to cloud-based infraestructures here, instead of the first paragraph.

I am not sure about this. Still important, keep it simple. Sentences that are correct and complete in every detail often get too complicated.


Some points I am still not sure about:

Further suggestions for changes of paper.md are appreciated.

@mviereck
Copy link

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Mar 25, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 25, 2019

@gflofst
Copy link

gflofst commented Mar 25, 2019

@whedon add @gflofst as reviewer

@whedon
Copy link
Author

whedon commented Mar 25, 2019

I'm sorry @gflofst, I'm afraid I can't do that. That's something only editors are allowed to do.

@gflofst
Copy link

gflofst commented Mar 25, 2019

@arfon add @gflofst as reviewer

@eine
Copy link

eine commented Mar 25, 2019

"reduced requirements of system environment (i.e. only the container runtime)". This might be only partially true.

I think this is still true. The script you've linked mainly checks for kernel configuration. My system misses e.g. apparmor and zfs, but they are not essential for Docker to work.
Core x11docker functionality depends on tools that are quite common.

The point is that some GUI apps can be executed on some systems where docker cannot be installed. In this context, docker does not reduce the requirements, but rather increases them. So, this is not an issue with x11docker itself, but with that fact that running the docker daemon is not trivial. I think it can be solved just by replacing 'reduced' with 'minimal', e.g.: '(...) dependency packaging, and minimal requirements of system environment (besides the container runtime), isolation (...)'.

x11docker can also run with e.g. ssh -X, and probably some more complex setups are possible. But I think the description should not be too complicated.

In this case I'm proposing to remove a limiting addition to the sentence, not to add explicit cases: 'x11docker allows to execute Desktop GUI applications in an isolated environment by running an X display server on the host system and providing it to applications in Docker containers'.

"for deployment in cloud-based infrastructures" might be replaced with "multiple infraestructures" or "heterogeneus infrastructures", since it is certainly not limited to the cloud.
Below: "because Docker is originally built for server software". It might be adequate to add the reference to cloud-based infraestructures here, instead of the first paragraph.

I am not sure about this. Still important, keep it simple. Sentences that are correct and complete in every detail often get too complicated.

My main point here is that x11docker is not specially useful in the cloud-based infraestructures where docker is so widespread, but it is a great tool for other not-so-conventional uses of docker, i.e. running desktop applications that use GPU acceleration, audio, webcam, etc. This is what makes it so valuable in multiple areas of academia, where this paper is expected to be cited.

As you say, it is correct as is. Just trying to focus the attention of the target audience. I'd like to ensure that readers which have nothing to do with cloud-based infraestructures are attracted from the beginning. ATM, it is not until the third paragraph starting from the end that the user reads something about the 'host'. Still, it is not clear if 'host' is 'server', 'workstation', or whatever.

Overall, we do know what docker can be used for, but lots of researchers have never used it and all the references they have are about kubernetes and large scale deployments (money talks). One of the strenghs of x11docker is that it is a greatly engineered orthogonal point of view.


  • Overall it sounds a bit complex. Maybe some points could be written more simple. I am not sure about this.

I think it will be good to wait until we get one or a few reviews/suggestions from people that is not involved at all. Certainly, non-CS perspectives would be very valuable.

GUIDock has a similar target as x11docker, but has a quite unpolished code base. I have hardly criticized GUIDock here: mviereck/x11docker#92 (comment)
Maybe it must be added because JOSS requires to cite similar projects.

IMHO, it is not required at all. You can decide to do it or not. Both options are correct. If you don't feel like doing so (which I would agree with), the argument is easy: "they haven't been the first with this solution, but the first publishing a paper about this". To reference the original source of information, stackoverflow is ok. If you add it because it falls in the group of 'similar projects' with no regard to novelty, many other should be added too:

Citing all of these is something I'd expect from a 'regular' publication. But that would be an introduction to a longer article where the implementation details of x11docker are dicussed and compared to other approaches. So, for each feature, you would explain what did exists, how did you put it together, whether you did anything new and how does it compare to others (performance or functionality). However, I think this is out of the scope of this submission. It could be the target for a future update, tho. That's why I asked about it above.

  • The first half of the summary is about Docker in general, the second part about x11docker and what it adds in usability/functionality. Maybe this should be divided with subtitles.

I think that the summary is too short to require a subtitle. We should be able to improve it just by reordering the content. For example, wdyt about removing the first sentence and starting with the fifth paragraph? So:

x11docker allows to run Desktop GUI applications in an isolated environment by running an X display server (...) shared files and GPU/printer/webcam/audio access.

Containerisation in general (...) is completely different.

The properties of containers (...) De Roure (2018)).

Software and required libraries (...) side by side.

The most popular (...) x11docker fills this gap.

x11docker thereby facilitates (...) scholarly review process.

x11docker has (...) MS Windows, too.

@arfon
Copy link
Member

arfon commented Mar 25, 2019

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Mar 25, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Mar 25, 2019

@arfon
Copy link
Member

arfon commented Mar 25, 2019

@whedon add @sgyzetrov as reviewer

@whedon
Copy link
Author

whedon commented Mar 25, 2019

OK, @sgyzetrov is now a reviewer

@arfon
Copy link
Member

arfon commented Mar 25, 2019

@whedon add @1138-4eb as reviewer

@whedon whedon assigned arfon and yxliang01 and unassigned arfon and yxliang01 Mar 25, 2019
@whedon
Copy link
Author

whedon commented Mar 25, 2019

OK, @1138-4eb is now a reviewer

@arfon
Copy link
Member

arfon commented Mar 25, 2019

Thanks for all of the interest & activity around this submission already. Let's move this forward to the main review.

@arfon
Copy link
Member

arfon commented Mar 25, 2019

@whedon start review

@whedon
Copy link
Author

whedon commented Mar 25, 2019

OK, I've started the review over in #1349. Feel free to close this issue now!

@arfon
Copy link
Member

arfon commented Mar 25, 2019

@yxliang01, @sgyzetrov, @1138-4eb - many thanks for agreeing to review this submission. Please head over to #1349 where the actual review will take place.

@gflofst - thanks for your interest in reviewing this submission. I've decided to go ahead with the first three volunteers here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants