Skip to content
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

non-web apps #4

Open
eminence opened this issue Sep 30, 2015 · 2 comments
Open

non-web apps #4

eminence opened this issue Sep 30, 2015 · 2 comments

Comments

@eminence
Copy link

I think neat things can be done with using IPFS to run/distribute traditional command-line applications, especially with the /ipfs fuse layer.

The super simple example is just sh /ipfs/QmRWKeMFYnby9YFHyUYfiGLX8ZcLu3XR4R36ark2MeYGCg

At the moment, I think the most important blocking issue is that ipfs unixfs nodes have no notion of file permissions, so it's not possible to add a binary to ipfs with the execute bit set.

Applications could also make use of IPNS to do automatic update checking (the details of this are pending on details on the new IPNS system)

@davidar
Copy link
Member

davidar commented Oct 1, 2015

Definitely, I'm very much in favour of native apps on IPFS, for both code and data distribution. See my comments on ipfs/ipfs#4 and jbenet/random-ideas#27 for example. Adding an executable bit to unixfs sounds reasonable to me (cc @whyrusleeping). The ipfs CLI itself is supposed to update itself over IPFS at some point, but I'm not sure when that's going to happen (cc @jbenet).

On a semi-related note, I'd also like to have a system for distributing cross-platform QML/QtQuick-based apps over IPFS, for GUIs that are too heavyweight to be shoehorning into HTML cough @atom. See this blog post by @shaan7 for example.

This could be useful for #2 since Qt actually supports JPEG2000 natively, unlike the sorry state of image formats supported by web browsers, and the performance issues with mobile browsers (cc @jbenet).

@jbenet
Copy link
Member

jbenet commented Oct 1, 2015

unix permissions can go in the unixfs metadata object. (metadata can also carry mimetypes, etc).

@whyrusleeping i think we should just have a subthing inside metadata with all the unix-specific attrs, like:

{
  "unix": { // unix specific attrs
    "perm": <permissions>,
  }
  "xattrs": {}, // k-v for xattrs.
  "mime": "<mimetype>",
}
// all of them optional of course.

or something.

See ipfs/notes#60

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

No branches or pull requests

3 participants