Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chromium/ballista
An interoperability system for the modern web.
https://github.com/chromium/ballista
Last synced: about 1 month ago
JSON representation
An interoperability system for the modern web.
- Host: GitHub
- URL: https://github.com/chromium/ballista
- Owner: chromium
- License: apache-2.0
- Archived: true
- Created: 2015-09-23T08:08:31.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-09-24T09:59:38.000Z (about 4 years ago)
- Last Synced: 2024-09-25T19:35:30.655Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 947 KB
- Stars: 535
- Watchers: 40
- Forks: 44
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - ballista
- awesome-starred - chromium/ballista - An interoperability system for the modern web. (others)
README
# Ballista
**Date**: 2015-09-25
**Updated**: 2019-11-08![A ballista](docs/images/ballista-300.png)
**Ballista** was a project to explore inter-website and web/native
communication; specifically, communication between one website and another site
or native app of the user's choosing. We explored ways for the user to be able
to *share* or *edit* documents in another website or app that the first website
has never even heard of, *choose* documents from another website, or register a
website as a *native file handler*. We were attempting to solve similar problems
to the intents system on Android, but also address other use cases like document
editing. Essentially, we set out to create an **interoperability system for the
web**.Our [explainer document](docs/explainer.md) dives deeper into the problem space
and outlines our early draft of an API that we thought solved this problem. But
this was less about proposing an API, and more about starting a conversation.Epilogue (2019): The Ballista project started in 2015 as an ambitious
exploration of the above concepts. The project evolved into a number of more
specialized and smaller proposals to achieve these goals, several of which are
now generally available. These include [Web
Share](https://github.com/w3c/web-share), [Web Share
Target](https://github.com/WICG/web-share-target) and [File
Handling](https://github.com/WICG/file-handling).## Spin-off proposals
These standards-track proposals were created as a result of the explorations
begun in the Ballista project:* [Web Share](https://github.com/w3c/web-share).
* [Web Share Target](https://github.com/WICG/web-share-target).
* [File Handling](https://github.com/WICG/file-handling).## Demo
We have a prototype that works in Chrome and Firefox. Try this:
1. Go to
[handler-dot-chromium-ballista.appspot.com](https://handler-dot-chromium-ballista.appspot.com)
(Ballista Editor Demo), and click "OK" to register it as an action handler.
2. Go to
[requester-dot-chromium-ballista.appspot.com](https://requester-dot-chromium-ballista.appspot.com)
(Ballista Cloud Demo), and open a file with "Ballista Editor Demo".These two apps don't know about each other, yet the editor can edit files from
the cloud app. Using our polyfill, you can write a web app that interoperates
with our demo apps in the same way.You can view and manage app registrations at
[chromium-ballista.appspot.com](https://chromium-ballista.appspot.com). In the
final product, the registration, picking and management UI would be part of the
browser.## Resources
* For a detailed overview, see [Ballista Explained](docs/explainer.md).
* In the [`polyfill`](polyfill) directory, there is a polyfill that you can use
to write a requester that can fire actions at any handler, or a handler that
can receive actions from any requester.
* The [`handler`](handler) and [`requester`](requester) directories contain the
source code for the demo apps described above.See the `README.md` file in each directory for details. Many caveats apply.
## Who is behind Ballista?
The Google Chrome team, including:
* Matt Giuca <>
* Sam McNally <>
* Ben Wells <>This is not an official Google product (experimental or otherwise), it is just
code that happens to be owned by Google.Copyright 2016 Google Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.