Empowering developers

Empowering developers

Friend is a powerful platform for developers. It connects arbitrary technologies and deploys them onto the internet. It reduces development overhead by providing a framework for user, access and file management – plus much more.

Friend lets developers connect their applications to other apps running on the network to unleash functionality never seen before. Its technology enables creation of distributed systems that allow applications to share data and functionality.

Friend already allows developers to create applications that are accessible on any device that runs a browser. This includes smartphones, tablets, VR systems, points of information, PCs and TVs. The software is not only distributed using regular browsers, but can be accessed using customized apps for both mobile and desktop operating systems.

Friend is available under a mixed license scheme where the server uses the MIT license, while the libraries and modules are using LGPLv3. The user interface and desktop environment components are licensed under the AGPLv3 license.

Friend greatly simplifies application development by allowing developers to support multiple devices and UI paradigms using one codebase. Additionally, by standardizing on resource management and interaction using our operating system template, applications become more useful when run side by side in a multitasking environment.

One of our most common integrations with the decentralized cloud is offering a wealth of file system drivers. These allow developers to make use of network disks for data and storage. It decouples application functionality from file management.

It also empowers users by giving them the flexibility to select which data is stored where. This gives the users a feeling that they have installed the web applications on their virtual computer, even though what really happened is that the disks have been integrated with the application. This is one of the unique features of the Friend platform.

A powerful frame with inbuilt secure distribution

How easy is it to deploy?

In this example, you can see how enticing it is to developers to use the Friend Network to deploy their application.

Carlos is building a web application for collaborative data processing and analysis - he named it "CarlosDataSuite". His application will make use of freely available data across the web, and will allow users to extract data sets by category and create models that can be used for creating visual diagrams. The app focuses on the international commodity market data, which will be "cooked" by multiple users in groups, allowing them to quickly search for categorized data sets to produce their diagrams.

Carlos is looking for distributed databases and storage technology to allow him to widely deploy his software without having to pay for cloud infrastructure. He is also searching for simple solutions for creating groups for collaboration between users. Existing technologies require him to register his VISA or MasterCard, but he does not have these, so he has a need to find an open alternative. He found Friend, and found that it offered a freely available, downloadable test server where he could test and develop locally and even invite his contacts to test the collaboration features. The test server behaves in the exact same way as the servers in the Friend Network - only using the resources on his local computer.

After having developed his initial version for early adopters and testers, he now deploys it on the Friend Cloud free of cost. By opening a Friend Shell, he enters into his project directory and deploys with a simple shell command.

1. Projects:CarlosDataSuite/> deploy
Your app has been deployed with the following url: https://friendsky.cloud/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08/

He is given a unique web link which can be used by anyone to access his application. The application is stored in an encrypted format on IPFS, and is decrypted in the browser using an automatically created private key. The app accesses a decentralized database, BigChainDB, to access the public datasets that are "cooked". It uses the Friend Network to access other collaborative users who become members of his application user group. Users access the Friend Network through different servers, depending on their geographic location. This way they have a low latency experience, and their app instance feels fast and responsive. The users collaborate and discuss in a Friend Chat component - which is built into the application's underlying framework.

The app polls the BigChainDB database to look for software updates, and each user can click a link to test the next version as it is made available by Carlos.

After six months of testing and development, Carlos decides that his application has hit the v1.0 milestone, and he registers as a vendor in the Friend Store. Here, he submits his application hash, which incorporates his application into the Friend Store repository. Now, Carlos can sell access to his application using the Friend Network Token, and he can market his solution using social media channels. The application is live, and users can access it all over the world. Carlos pays nothing for the infrastructure, as it is running in the decentralized Friend Network.

Friend connects users across devices and services

Revision handling

A developer will be able to handle upgrades by offering new hashes. This will allow users to roll up and down between versions. The upgrade functionality will be offered to developers in our framework, but they will be free to implement it in any way they wish. A new version that is not paid for may entail another transaction through the Friend Store API.

Fixed access point

Decentralised services often have challenges with providing human readable persistent access point to content and functionality. The Friend Network will provide mechanisms to give both application and data fixed names so that they can easily be found.