- Cloud OS
- Desktop and Mobile Interfaces
- Buddy Lists! Add Your Buddies
- Peer to Peer Instant Messaging
- Multimedia Pond Chat Rooms
- Image and Paint Editors
- Audio MIDI Support
- Create Media And Send To Buddies
- Remix and Send Media With Single Click
- Voice and Video Calls With Buddies!
- Interdimensional Cable and Live Streaming
- Audio Video Visualizations and VFX
- Integrated Scripting Language (
BuddyScript
) - Desktop download browser size is < 1MB ( Uncompressed )
Buddy Pond is free use at: https://buddypond.com
It's super easy to embed Buddy Pond Chat on your site. Simply copy and paste the following embed code:
<iframe src="https://buddypond.com/#pond/Lily"/>
Just replace Lily
with your pond name.
see: ./embed.html
for code example
Screencasts
April 26th, 2022
April 13th, 2022
Once you've loaded Buddy Pond you can type the following commands to get help:
Display chat commands
Type /help
in any chat window to get help.
BuddyScript
Commands
Type /bs
in any chat window to see BuddyScript
commands.
BuddyScript
is an integrated scripting languge in Buddy Pond that allows you to fully control the Desktop Application and all Apps through chat commands.
My Buddy is a companion app that lets you quickly clone and start Buddy Pond locally without having to run any commands. Get it at: https://github.com/Marak/mybuddy
Remember: Buddy Pond and the Buddy Pond AppStore are just plain HTML and JavaScripts with no build steps. You can clone either of these repos and use any HTTP server to run Buddy Pond locally.
Download Buddy Pond Based
git clone --depth 1 git@github.com:Marak/buddypond.git
cd buddypond
There will be an index.html
file in the buddypond
directory. You must serve this index.html
from an HTTP server. Any HTTP server will work. You can download My Buddy to host or try using python SimpleHTTPServer for a quick start:
python -m SimpleHTTPServer
This will start the Buddy Pond application on port 8000. Open http://localhost:8000 in your local browser and you can immediately start adding and messaging buddies.
If you'd like to modify the based Apps
see the ./desktop/based/
folder.
Buddy Pond has an integrated AppStore which allows buddies to easily contribute new applications to the Buddy Pond ecosystem. It's very simple to use. No installation, compile, or transpiling steps are required.
If you'd like to modify Apps
see the ./desktop/appstore/
folder.
If you want to add a new application all you have to do is copy and paste an existing App
folder and do a single string search and replace.
Once the new App folder has been created you will now be able to open this App
via desktop.ui.openWindow('myapp')
.
The easiest way to deploy Buddy Pond is to publish this entire folder to any web hosting platform. Since Buddy Pond is just static HTML, it can be hosted almost anywhere. You'll want to make sure your host has HTTPS / SSL enabled.
Buddy Pond communicates via REST HTTP API calls to the Buddy Pond Server.
Interactive API Testing Page: https://buddypond.com/sdk/client.html
JavaScript buddypond.js
SDK API client: ./sdk/buddypond.js
desktop.use(appName, params)
will load Buddy Pond Apps which have an App.load
method.
App.load
is an async function
For Example:
desktop.boo.load = function (params, next) {
setTimeout(function(){
// async `App.load` functions *must* continue with their callback
next(null, true);
}, 3000)
}
You may now open App.Boo
by calling desktop.ui.openWindow('boo', { foo: 'bar' })
See: https://github.com/Marak/buddypond/tree/master/desktop/based
See: https://github.com/Marak/buddypond/tree/master/desktop/appstore
The codebase is currently loosely linted. You should be able to contribute to sections of code without asking us to reformat the entire codebase. Please try your best to adhere the best you can to our coding style and .eslintrc.js
file.
If you need to lint a file you can install and run eslint
npm install -g eslint@8.12.0
eslint ./path/to/file.js --fix
So you've made it to the end of the ReadMe.md
? Neat.
Buddy Pond consists of a backend server and front-end client.
The server code is currently private access invite-only. We intend to make the server code public in two more weeks.
In order to start your own private Buddy Pond ( not federated ) you can download the Buddy Pond Server at https://github.com/marak/buddypond-server
Once you have your own Buddy Server running you can modify ./sdk/buddypond.js
to point to your server endpoint over HTTP.
Buddy Pond Copyright (C) 2022 Marak Squires
See LICENSE
file