IPFS GUIs
The IPFS project has an ongoing, long-running ambition to create visual and interaction standards and patterns for working with IPFS that are ...
- Simple: Present the big ideas of IPFS clearly, without unnecessary complexity
- Accessible: Enable everyone to take advantage of what IPFS offers
- Reusable: Offer compelling standards and atomic patterns to the community of IPFS builders
- Beautiful: By their nature, things that are simple, accessible and reusable are also beautiful
IPFS GUI projects
Primary projects
At present, primary focus is on the three "helper" apps that provide a GUI for IPFS as a whole, in order to make them useful for seasoned IPFS developers while also offering a welcoming introduction to IPFS for those less experienced.
IPFS Companion | IPFS Web UI | IPFS Desktop |
---|---|---|
Browser extension for opening ipfs:// URLs, saving/sharing files, and more | IPFS file manager and network explorer in your browser | Launch and manage IPFS from a friendly, intuitive desktop app |
For a more comprehensive overview of the resources that come together to build, support, and provide education around Web UI, Desktop, and Companion, please see the IPFS GUI Family Mental Model and our June 2020 user research report.
Other IPFS GUI & Tools owned projects
- ipfs/ipfs-gui: This repo, used for overall planning and cross-repo work
- ipfs/distributions/site: Visual side of https://dist.ipfs.io website
- ipfs/public-gateway-checker: Source code for https://ipfs.github.io/public-gateway-checker/
- ipfs/ipfs-companion: Browser extension that simplifies access to IPFS resources on the Web
- ipfs/ipfs-webui: Browser front-end for IPFS nodes
- ipfs/ipfs-desktop: An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux
- ipld/explore.ipld.io: Source code for https://explore.ipld.io
- ipfs/ipld-explorer-components: React components for https://explore.ipld.io and ipfs-webui
- ipfs-shipyard/i18n: Internationalization work across all IPFS projects
- ipfs-shipyard/ipfs-css: Single-purpose CSS rules and font-face config to add the IPFS look and feel to your UI
- ipfs-shipyard/pinning-service-compliance: A test suite to help see which pinning service providers are correctly implementing the pinning services spec.
- ipfs-shipyard/js-pinning-service-http-client: A pinning service client for the browser and node
- ipfs-shipyard/ipfs-dag-builder-vis: A tool for creating & modifying IPFS DAG structures visually. See https://dag.ipfs.tech/
- multiformats/cid-utils-website: A website for decoding CIDs. See https://cid.ipfs.tech/#bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
Other GUI projects
In addition to the apps & repos above, other relevant GUI related tools/apps that are not owned by the IPFS GUI & Tools team are:
- kubo/dir-index-html: Directory listing HTML for kubo (go-ipfs) gateways
- filecoin-station/filecoin-station: Filecoin Station connects your computerβs idle resources to the Filecoin network and rewards you with FIL. Taking part is simple, just launch the app and start earning.
- ipfs-shipyard/ipfs-check: A tool for checking the accessibility of your data by IPFS peers
- laurentsenta/pl-diagnose: Reimplementation & extension of https://github.com/aschmahmann/ipfs-check
- ipfs-shipyard/ipfs-ui-style-guide: UI style guide for IPFS apps
- ipfs-shipyard/ipfs-share-files: Source code for https://share.ipfs.io
Visual design guidelines
Get involved!
Contribute to an issue
Contributions to IPFS GUIs are more than welcome! Each of the repos listed under "All projects" above makes use of the IPFS Project's global issue labeling scheme. Good labels to look for are ...
help wanted
good first issue
- and there are even occasional
bounty
labels for issues with rewards as part of the IPFS Bounty Board!
If you see an issue that catches your eye, leave a comment so we know you're interested, and we'll go from there!
We're an open project and a friendly group, so please be nice and read the contributing guidelines when you're ready to jump in.
Discuss in GitHub or chat
For the sake of async communication, archiving, and searchability, we strongly encourage discussions to happen in the context of GitHub issue comments whenever practical.
For casual conversation, our official chat rooms in Matrix and Discord are bridged, so you can join whichever you prefer. They can be used to ask questions and discuss with the community β however, while IPFS core developers are usually in these rooms, it can be hard to keep up with the running conversation and questions can be missed or disappear due to a lack of indexing.
Resources
If you're looking for high-level research or visual and brand info:
Also, these historical resources may be helpful:
- IPFS GUI Family Mental Model: June 2020 framework for understanding how IPFSβ various GUI-based tools work together to provide cohesive, consistent enablers to using and building on IPFS for a variety of developer and non-developer stakeholder groups
- June 2020 user research report: Survey analysis offering guidance on next actions for enhancements to the IPFS GUI tool family
- Original GUI project research: Spring 2018 foundational research on IPFS GUIs, including the initial definition of this group's goals
- IPFS color palette: Official IPFS colors as part of
ipfs-css
- IPFS logo files: Vector and raster logo assets
- IPFS brand book: IPFS-wide brand guidance, including logo guidelines
- IPFS UI Summary: Alpha-version UI style guide summary
Maintainers
This ipfs-gui
repo is intended primarily as a higher-order planning and discussion space, so isn't actively maintained in and of itself; however, consult the readmes of the repos listed under "All projects" above for more specific maintainer info for individual projects.
Support goals
Platforms
Due to the difficulty involved in debugging and development on platforms and versions not supported by github actions (and our CI/CD tests), we can only provide support for the top 3 (mac, windows, ubuntu) latest
platforms supported by github.
If there is a new platform release, we will support bug-fixes and feature enhancements for that new platform, but will prioritize bug-fixes for things we can automate (CI/CD supported bugs/features).
Languages
Due to a large demand and lack of time, as a general rule, we aim to support the latest (or most popular) officially supported versions of languages.
NodeJS
Production applications should only use Active LTS or Maintenance LTS releases.
See https://nodejs.org/en/about/releases/ for the officially supported NodeJS Versions. We aim to support Active LTS or Maintenance LTS versions with a best-effort support for Current versions.
Support priority:
- Active LTS
- Maintenance LTS