Buddycloud gives you open source tools, libraries, services and community to help you build user-to-user, group and social messaging into your web or mobile app.
The Buddycloud features include this software:
- buddycloud-http-api including xmpp-ftw integration
And some demo apps:
Designed for Developers
Build your product, grow your community. Quickly.
The Buddycloud stack helps you get started easily and grows with you as your product and community expands.
Add user-to-user messaging to your app.
Your users can send direct messages to each other. Even better, Buddycloud's federated design means that your users can communicate with millions of other existing users that already run Buddycloud.
Some things are better in a group.
Multi-user and group messaging is also fully supported. Your users can create public and private groups ("topic channels") to share group-messages, files videos and photos. Your users have so that your users have total control over who can post and who can follow private content
Power to the [nice] people!
Empower your community to self-police using Buddycloud's rich moderation features. Channels have easy to understand blacklist/whitelist options of who can post content. Buddycloud Channel moderators help keep the conversation on track, control who can participate and can easily banish trolls back to their bridges.
A personal activity feed for Madam?
Each of your users can also have a Personal Channel. Personal channels are like a Twitter feed or Facebook wall. Except, because of Buddycloud's federated design, your users can follow their friends from any other site.
Build apps with an intuitive API.
An easy to use REST API presents all the Buddycloud components as restful objects that you can query or update. It's the quickest way to start developing on Buddycloud.
Buddycloud also ships with a extensive real-time websocket API that streams new events as they happen.
Both APIs are open source. You can extend them to support unique use cases.
One pattern to learn, everything is publish-subscribe.
Whether it's posts in a channel or user-to-user messages, Buddycloud uses a publish-subscribe pattern for messaging. Building on Pub/Sub gives easy querying for message history, guaranteed message delivery and a decoupling of publishers and subscribers who don't need to both be online at the same time. All this means you can use the same logic for your mobile and web applications.
Seamless code deployment.
Ever had that problem when your code worked perfect in your local environment but failed when it was deployed to production? We made deploying code from development (on your laptop) to your production servers seamless.
The Buddycloud-VM and Saltstack give you identical code, services and configuration. You can develop your code on a local virtual machine and know that the exact same code will work in your staging and production environments. Ship your Buddycloud code faster and with fewer errors.
Access to a rich code ecosystem.
There's a bunch of existing Buddycloud open source projects. The code for these is available to use and reuse in your own application. This code includes libraries and demo applications for Android, IOS, web and the Buddycloud services and comes with a helpful community to point you in the right direction.
Push-to-pull the mobile friendliness.
Create real-time mobile applications with instant battery-friendly updates.
Buddycloud uses a push-to-pull content update pattern:
- When your user is online (the application is running in the foreground), new content is automatically streamed to them.
- When your user is offline (the application is suspended), the Buddycloud Pusher will trigger a push notification to the mobile device and the application can trigger a background pull.
- When your user clicks on the push notification, the new content is already downloaded and waiting for them.
Even more cat pictures.
Wouldn't it be nice to have file sharing that just works? Buddycloud ships with integrated file sharing so that your users can drag-and-drop files into their channel and they are securely shared with their followers.
The Buddycloud Media Server supports any file types including images and videos. Image sharing comes with thumbnail previews for images including a max-height or max-width constraint for flexible embedding on different screen sizes.
Security at the core.
Buddycloud is built on a strong foundation of peer-reviewed client libraries, strong crypto, and a transparent development process. Backdoor free and secure by design.
The Buddycloud orchestration tool helps you set up a secure-by-default service and tests your deployment for security problems. This enables you to develop secure applications.
An additional set of tests help you check your site to site encryption.
Simple to understand privacy for your users.
Buddycloud channels give your users complete control over their privacy. Easy-to-understand privacy controls lets them know exactly what is shared with whom. The Buddycloud server ships with content plugins that enable you to easily support end to end encrypted messages.
Designed for Production
Fast, flexible, scalable: Buddycloud is incredibly fast, easy to set up, extensible and provides an architecture that can manage your diverse application development needs. The Buddycloud stack brings together the best of the messaging world, amplifies its capabilities and expands its range; resulting in a system that is as versatile as it is practical.
Federation built into the core.
Other companies build services that lock you into using them. However, we believe communication is better when you can talk to everyone on different services. Buddycloud brings federated messaging into your apps. While you keep control of your userbase and privacy, your users can connect, share and message with users on all other Buddycloud-enabled apps.
We take this for granted in email: firstname.lastname@example.org can reach email@example.com. Now we've done the same for in-app messaging.
"Think of Buddycloud as email 2.0"
Transparent and open source development.
Buddycloud is developed under the Apache 2.0 License, and can be used for open and proprietary projects. As other developers submit their improvements back to the Buddycloud project, we all benefit.
Easily extensible for your unique app.
Design your lean-mean messaging stack with just the components you need. The existing code is designed to be easily extensible to suit your exact use case.
Buddycloud's microservice design means you can run the full Buddycloud stack on your compute grid or a tailored stack on your Raspberry Pi.
Adding new services is as simple as dropping a new config-line into a file.
We're open [protocol].
The Buddycloud Protocol codifies how Buddycloud works. This helps other companies create compatible Buddycloud services. Choose the best provider and implementation for your project without being locked in.
Starting your community just got easier.
BC:Hosted helps you manage your application users: importing existing users, adding and deleting users and re-issuing passwords. It's also possible to use your existing user database.
Buddycloud simply sends an "is this user and password valid?" request to your current authentication and authorisation service.
Analytics to help you improve.
Buddycloud sends daily activity reports that help you understand your application's messaging use and helps you discover active channels, users and content. Additional reports and a firehose of messages can easily be setup. Analytics are a key part in discovering who your super-fans are and help you turn them into community ambassadors.
Protocol testing, testing, testing...
The Buddycloud Protocol Tester remotely checks your Buddycloud site for configuration bugs. Enter your domain name and the Protocol Tester begins running a battery of remote tests that help you ensure that your Buddycloud-enabled site is correctly set up. Tests include checking DNS settings, API configuration and the Buddycloud services.
Total hosting control
Scales up without surprises.
Scale up your infrastructure to support millions of simultaneous users and manage peak events by simply adding more servers. Buddycloud components are designed to scale horizontally. And when you need even more power, Buddycloud's API server ships with support for Fanout's real-time CDN.
Designed for Your Users
Buddycloud components are designed to help you onboard your existing users and help your new users discover content. Your users can even import existing social graphs and connect with friends already on the service.
Friend Finder for finding friends.
To create a smooth user onboarding, the Friend Finder service matches your users to friends that are already using your app. The Friend Finder uses one-way hashes (to protect privacy) of contact data like email addresses, FacebookIDs or phone numbers. The Friend Finder shows your users a list of friends already using your application and alerts existing users when a known friend signs-up.
"34 of your friends are already on CatBook. Add them here."
If you like that, you might like this.
The Content Discovery service recommends channels based on a graph database of who follows what. Present your users with relevant content based on what they and their peers are already following, leading to a richer application.
"If you follow these channels, perhaps you would be interested in this channel."
Find trending content with the Channel Directory server.
The Buddycloud Channel Directory server lists the most popular, newest, and currently most active channels. These lists are generated from the number of posts and followers. The directory provides data for your local channels (on your server) and from remote channels (on other Buddycloud servers), all accessible from one API. Your users can always find fresh and interesting channels to participate in.
"The most active Buddycloud channel today:
Designed for Your Company
The only in-app messaging system that can run behind your firewall.
Reliable support to help you run your Buddycloud-stack on-site and scale up. The benefits of the full Buddycloud stack hosted securely behind your firewall. Your users, your network, your security policies.
Consulting from experts to speed up your process.
The Buddycloud team works with organisations to help them build messaging into their intranet, mobile and web apps.
Both on-site and remotely, you get the benefit of working directly with Buddycloud developers and operational teams. A typical engagement includes designing, environment-setup, development help and scaling help. Buddycloud experts with experience and knowledge help you minimize the time required to launch your app.
Use your own domain name.
Buddycloud Enterprise and Buddycloud Hosting both support using your own domain name. Users addresses can be identical to email addresses: username@domainname.
Designed to keep you running smoothly and provide coverage for peak events: Buddycloud Support is available via web, IM, email, phone and onsite.
Support includes custom builds, security and issue fixes. And inclusive consultation time.
The sales team can help you select the right plan. All 24/7.
Full support to help you scale up.
Your app grows. Sometimes quicker than is comfortable. Buddycloud-support can help you scale up.
Every single component of the Buddycloud backend is designed to be run in a horizontally-scalable cluster. And to help you get your real time messages delivered Buddycloud works closely with the great team at Fanout to directly plug into their real time CDN.
All code is released under the commercial friendly Apache 2.0 license. This means you can easily add it to your own code. Please contact the sales team if you need a different license for your organisation.
The hosting platform is available under a proprietary license.